diff --git a/HISTORY b/HISTORY index 23d191d1..092979c8 100644 --- a/HISTORY +++ b/HISTORY @@ -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;