Added checking mutexCurrentAudioTrack to cDevice::PlayTs()

This commit is contained in:
Klaus Schmidinger 2009-01-18 11:45:28 +01:00
parent 3434f061b3
commit 1789a813f7
3 changed files with 6 additions and 1 deletions

View File

@ -1193,6 +1193,8 @@ Reinhard Nissl <rnissl@gmx.de>
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 <richard_robson@beeb.net>
for reporting freezing replay if a timer starts while in Transfer Mode from the

View File

@ -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).

View File

@ -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);