From 1789a813f77dcfbb92284667ee37d4d0dec39b5a Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sun, 18 Jan 2009 11:45:28 +0100 Subject: Added checking mutexCurrentAudioTrack to cDevice::PlayTs() --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ device.c | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 03d7cd99..4fd72978 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1193,6 +1193,8 @@ Reinhard Nissl a video to an audio channel for fixing returning complete PES packets in cTsToPes::GetPes() for reporting a possible problem with removing deleted recordings + for pointing out that a check of mutexCurrentAudioTrack needs to be done in + to cDevice::PlayTs() Richard Robson for reporting freezing replay if a timer starts while in Transfer Mode from the diff --git a/HISTORY b/HISTORY index 4bdad344..3c2e45a0 100644 --- a/HISTORY +++ b/HISTORY @@ -5943,3 +5943,5 @@ Video Disk Recorder Revision History be used to distinguish recordings of the same broadcast made by different instances of VDR (suggested by Frank Schmirler). This replaces the use of the "resume id" that was introduced in version 1.7.3. +- Added checking mutexCurrentAudioTrack to cDevice::PlayTs() (thanks to Reinhard + Nissl for pointing this out). diff --git a/device.c b/device.c index 23db6160..d4576b03 100644 --- a/device.c +++ b/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 2.6 2009/01/16 15:20:21 kls Exp $ + * $Id: device.c 2.7 2009/01/18 11:42:22 kls Exp $ */ #include "device.h" @@ -1322,6 +1322,7 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) return Length; // silently ignore TS packets w/o payload int PayloadOffset = TsPayloadOffset(Data); if (PayloadOffset < Length) { + cMutexLock MutexLock(&mutexCurrentAudioTrack); int Pid = TsPid(Data); if (Pid == 0) patPmtParser.ParsePat(Data + PayloadOffset, Length - PayloadOffset); -- cgit v1.2.3