diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-03-08 13:47:02 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-03-08 13:47:02 +0100 |
commit | d08777ed87b68faca08959d561e1134563f91073 (patch) | |
tree | 344e4dd10758d19ff5c25940fb1a55d84a029eb7 | |
parent | f7645402ffd4f79cc92278135bc29f1b477f3682 (diff) | |
download | vdr-d08777ed87b68faca08959d561e1134563f91073.tar.gz vdr-d08777ed87b68faca08959d561e1134563f91073.tar.bz2 |
Limited the Goto() call in cDvbPlayer::SetAudioTrack() to the main thread
-rw-r--r-- | HISTORY | 4 | ||||
-rw-r--r-- | dvbplayer.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -7689,7 +7689,7 @@ Video Disk Recorder Revision History - When sorting recordings by name, folders are now always at the top of the list. - Updated the Russian OSD texts (thanks to Oleg Roitburd). -2013-03-07: Version 1.7.40 +2013-03-08: Version 1.7.40 - The "Recording info" page of the skins that come with VDR now displays the name of the channel (if available) from which this recording was taken. @@ -7722,3 +7722,5 @@ Video Disk Recorder Revision History With this VDR now supports "multi streaming" on DVB-S2 and DVB-T2 transponders. - Fixed a possible deadlock when changing the audio track while replaying a recording. - Fixed resuming replay of PES recordings (reported by Oliver Endriss). +- Limited the Goto() call in cDvbPlayer::SetAudioTrack() to the main thread, in order + to avoid a crash when the track is automatically set from the player thread. diff --git a/dvbplayer.c b/dvbplayer.c index 9f4d97e6..dc206a39 100644 --- a/dvbplayer.c +++ b/dvbplayer.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbplayer.c 2.34 2013/03/07 14:38:26 kls Exp $ + * $Id: dvbplayer.c 2.35 2013/03/08 13:44:19 kls Exp $ */ #include "dvbplayer.h" @@ -817,6 +817,8 @@ void cDvbPlayer::Goto(int Index, bool Still) void cDvbPlayer::SetAudioTrack(eTrackType Type, const tTrackId *TrackId) { + if (!cThread::IsMainThread()) + return; // only do this upon user interaction if (playMode == pmPlay) { if (!ptsIndex.IsEmpty()) { int Current, Total; |