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 fixing unnecessary interruption of ongoing recordings if timers avoided the
|
||||
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>
|
||||
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
|
||||
mode receiver device (thanks to Markus Ehrnsperger).
|
||||
- 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
|
||||
* 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"
|
||||
@ -807,6 +807,10 @@ bool cDevice::MaySwitchTransponder(const cChannel *Channel) const
|
||||
bool cDevice::SwitchChannel(const cChannel *Channel, bool 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());
|
||||
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
|
||||
|
Loading…
x
Reference in New Issue
Block a user