From 7db63875d0198c92e0ab554147ad78f88623b173 Mon Sep 17 00:00:00 2001 From: Johns Date: Wed, 6 Mar 2013 10:30:27 +0100 Subject: Adds optional only complete mpeg packets support. --- ChangeLog | 1 + Makefile | 1 + codec.c | 3 +++ softhddev.c | 5 +++++ 4 files changed, 10 insertions(+) diff --git a/ChangeLog b/ChangeLog index 6ec2b80..ecdccca 100644 --- a/ChangeLog +++ b/ChangeLog @@ -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. diff --git a/Makefile b/Makefile index 3467573..dfca467 100644 --- a/Makefile +++ b/Makefile @@ -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 diff --git a/codec.c b/codec.c index 042dcf0..6e1e942 100644 --- a/codec.c +++ b/codec.c @@ -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) { diff --git a/softhddev.c b/softhddev.c index bc05e33..1bb7f2e 100644 --- a/softhddev.c +++ b/softhddev.c @@ -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); -- cgit v1.2.3