Fixed getting only non-video packets in cCuttingThread::GetPendingPackets()

This commit is contained in:
Klaus Schmidinger 2012-11-25 14:02:47 +01:00
parent c13980e130
commit 21186ced97
3 changed files with 9 additions and 3 deletions

View File

@ -2970,6 +2970,8 @@ S
for a patch that was used to move cleaning up the EPG data and writing the epg.data
file into a separate thread to avoid sluggish response to user input on slow systems
for fixing sorting folders before recordings in case of UTF-8
for reporting that cCuttingThread::GetPendingPackets() should get only non-video
packets
Peter Münster <pmlists@free.fr>
for fixing 'make install' to not overwrite existing configuration files

View File

@ -7339,10 +7339,12 @@ Video Disk Recorder Revision History
- Modified editing marks are now written to disk whenever the replay progress display
gets hidden (thanks to Christoph Haubrich).
2012-11-21: Version 1.7.33
2012-11-25: Version 1.7.33
- In order to be able to play TS recordings from other sources, in which there is
more than one PMT PID in the PAT, 'int cPatPmtParser::PatPmt(void)' has been changed
to 'bool cPatPmtParser::IsPatPmt(int Pid)'.
- Fixed learning remote control keys with the LCARS skin.
- Updated the Macedonian OSD texts (thanks to Dimitar Petrovski).
- Fixed getting only non-video packets in cCuttingThread::GetPendingPackets() (reported
by Sören Moch).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: cutter.c 2.17 2012/11/19 10:21:44 kls Exp $
* $Id: cutter.c 2.18 2012/11/25 13:59:07 kls Exp $
*/
#include "cutter.h"
@ -408,8 +408,10 @@ void cCuttingThread::GetPendingPackets(uchar *Data, int &Length, int Index, int6
int Pid = TsPid(p);
if (Pid == PATPID)
PatPmtParser.ParsePat(p, TS_SIZE);
else if (PatPmtParser.IsPmtPid(Pid))
else if (PatPmtParser.IsPmtPid(Pid)) {
PatPmtParser.ParsePmt(p, TS_SIZE);
Processed[PatPmtParser.Vpid()] = true; // we only want non-video packets
}
else if (!Processed[Pid]) {
int64_t Pts = TsGetPts(p, TS_SIZE);
if (Pts >= 0) {