Adds optional only complete mpeg packets support.

This commit is contained in:
Johns 2013-03-06 10:30:27 +01:00
parent 637c04655a
commit 7db63875d0
4 changed files with 10 additions and 0 deletions

View File

@ -2,6 +2,7 @@ User johns
Date:
Release Version 0.6.0
Adds optional only complete mpeg packets support.
Fixes text of EAC-3 pass-through setup.
Try to start or connect to X11 server with -xx.
Try to use HBR (High Bit-Rate) for EAC3.

View File

@ -30,6 +30,7 @@ CONFIG += -DUSE_PIP # PIP support
#CONFIG += -DHAVE_PTHREAD_NAME # supports new pthread_setname_np
#CONFIG += -DNO_TS_AUDIO # disable ts audio parser
#CONFIG += -DUSE_TS_VIDEO # build new ts video parser
#CONFIG += -DUSE_MPEG_COMPLETE # support only complete mpeg packets
ifeq ($(ALSA),1)
CONFIG += -DUSE_ALSA

View File

@ -441,8 +441,11 @@ void CodecVideoOpen(VideoDecoder * decoder, const char *name, int codec_id)
}
if (video_codec->capabilities & CODEC_CAP_TRUNCATED) {
Debug(3, "codec: video can use truncated packets\n");
#ifndef USE_MPEG_COMPLETE
// we send incomplete frames, for old PES recordings
// this breaks the decoder for some stations
decoder->VideoCtx->flags |= CODEC_FLAG_TRUNCATED;
#endif
}
// FIXME: own memory management for video frames.
if (video_codec->capabilities & CODEC_CAP_DR1) {

View File

@ -2249,11 +2249,16 @@ int PlayVideo3(VideoStream * stream, const uint8_t * data, int size)
if (stream->CodecID == CODEC_ID_MPEG2VIDEO) {
// SKIP PES header
VideoMpegEnqueue(stream, pts, data + 9 + n, size - 9 - n);
#ifndef USE_MPEG_COMPLETE
if (size < 65526) {
// mpeg codec supports incomplete packets
// waiting for a full complete packages, increases needed delays
// PES recordings sends incomplete packets
// incomplete packets breaks the decoder for some stations
// for the new USE_PIP code, this is only a very little improvement
VideoNextPacket(stream, stream->CodecID);
}
#endif
} else {
// SKIP PES header
VideoEnqueue(stream, pts, data + 9 + n, size - 9 - n);