diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-03-07 13:27:05 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-03-07 13:27:05 +0100 |
commit | a67fe0663d07a6e91bfe22f5a86ce73d73b17563 (patch) | |
tree | 681d373abe6b54363026b91c46131f03d5d40e77 /device.c | |
parent | 16c931453db9723cee36d2b51502558fcd1921c5 (diff) | |
download | vdr-a67fe0663d07a6e91bfe22f5a86ce73d73b17563.tar.gz vdr-a67fe0663d07a6e91bfe22f5a86ce73d73b17563.tar.bz2 |
Fixed a possible deadlock when changing the audio track while replaying a recording
Diffstat (limited to 'device.c')
-rw-r--r-- | device.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.73 2013/02/16 14:39:30 kls Exp $ + * $Id: device.c 2.74 2013/03/07 13:18:35 kls Exp $ */ #include "device.h" @@ -1290,7 +1290,6 @@ int cDevice::PlaySubtitle(const uchar *Data, int Length) int cDevice::PlayPesPacket(const uchar *Data, int Length, bool VideoOnly) { - cMutexLock MutexLock(&mutexCurrentAudioTrack); bool FirstLoop = true; uchar c = Data[3]; const uchar *Start = Data; @@ -1468,7 +1467,7 @@ int cDevice::PlayTsSubtitle(const uchar *Data, int Length) int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) { int Played = 0; - if (Data == NULL) { + if (!Data) { tsToPesVideo.Reset(); tsToPesAudio.Reset(); tsToPesSubtitle.Reset(); @@ -1478,7 +1477,6 @@ int cDevice::PlayTs(const uchar *Data, int Length, bool VideoOnly) return Length; } else { - cMutexLock MutexLock(&mutexCurrentAudioTrack); while (Length >= TS_SIZE) { if (Data[0] != TS_SYNC_BYTE) { int Skipped = 1; |