mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Fixed broken video data streams on systems without output device when switching live channel to a different transponder while recording
This commit is contained in:
parent
5f136032a2
commit
1770a18598
@ -2552,6 +2552,8 @@ Markus Ehrnsperger <markus.ehrnsperger@googlemail.com>
|
|||||||
for suggesting to add a chapter about locking to PLUGINS.html
|
for suggesting to add a chapter about locking to PLUGINS.html
|
||||||
for fixing unnecessary interruption of ongoing recordings if timers avoided the
|
for fixing unnecessary interruption of ongoing recordings if timers avoided the
|
||||||
transfer mode receiver device
|
transfer mode receiver device
|
||||||
|
for reporting broken video data streams on systems without output device when switching
|
||||||
|
live channel to a different transponder while recording
|
||||||
|
|
||||||
Werner Färber <w.faerber@gmx.de>
|
Werner Färber <w.faerber@gmx.de>
|
||||||
for reporting a bug in handling the cPluginManager::Active() result when pressing
|
for reporting a bug in handling the cPluginManager::Active() result when pressing
|
||||||
|
5
HISTORY
5
HISTORY
@ -9851,3 +9851,8 @@ Video Disk Recorder Revision History
|
|||||||
- Fixed unnecessary interruption of ongoing recordings if timers avoided the transfer
|
- Fixed unnecessary interruption of ongoing recordings if timers avoided the transfer
|
||||||
mode receiver device (thanks to Markus Ehrnsperger).
|
mode receiver device (thanks to Markus Ehrnsperger).
|
||||||
- Revised support for kernel based LIRC driver (thanks to Marko Mäkelä).
|
- Revised support for kernel based LIRC driver (thanks to Marko Mäkelä).
|
||||||
|
|
||||||
|
2023-02-21:
|
||||||
|
|
||||||
|
- Fixed broken video data streams on systems without output device when switching live
|
||||||
|
channel to a different transponder while recording (reported by Markus Ehrnsperger).
|
||||||
|
6
device.c
6
device.c
@ -4,7 +4,7 @@
|
|||||||
* See the main source file 'vdr.c' for copyright information and
|
* See the main source file 'vdr.c' for copyright information and
|
||||||
* how to reach the author.
|
* how to reach the author.
|
||||||
*
|
*
|
||||||
* $Id: device.c 5.7 2023/02/16 14:53:38 kls Exp $
|
* $Id: device.c 5.8 2023/02/21 09:31:47 kls Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "device.h"
|
#include "device.h"
|
||||||
@ -807,6 +807,10 @@ bool cDevice::MaySwitchTransponder(const cChannel *Channel) const
|
|||||||
bool cDevice::SwitchChannel(const cChannel *Channel, bool LiveView)
|
bool cDevice::SwitchChannel(const cChannel *Channel, bool LiveView)
|
||||||
{
|
{
|
||||||
if (LiveView) {
|
if (LiveView) {
|
||||||
|
if (!PrimaryDevice()->CanReplay()) {
|
||||||
|
isyslog("can't switch to live channel %d %s (%s)", Channel->Number(), *Channel->GetChannelID().ToString(), Channel->Name());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
isyslog("switching to channel %d %s (%s)", Channel->Number(), *Channel->GetChannelID().ToString(), Channel->Name());
|
isyslog("switching to channel %d %s (%s)", Channel->Number(), *Channel->GetChannelID().ToString(), Channel->Name());
|
||||||
cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
|
cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
|
||||||
// and, if decrypted, this removes the now superfluous PIDs from the CAM, too
|
// and, if decrypted, this removes the now superfluous PIDs from the CAM, too
|
||||||
|
Loading…
x
Reference in New Issue
Block a user