diff options
author | Johns <johns98@gmx.net> | 2013-03-06 10:30:27 +0100 |
---|---|---|
committer | Johns <johns98@gmx.net> | 2013-03-06 10:30:27 +0100 |
commit | 7db63875d0198c92e0ab554147ad78f88623b173 (patch) | |
tree | 9d4b92771653b3d8f7c5b41b3de198a2660363cd | |
parent | 637c04655a61525c624bbb2c2e10e264fe6ba55e (diff) | |
download | vdr-plugin-softhddevice-7db63875d0198c92e0ab554147ad78f88623b173.tar.gz vdr-plugin-softhddevice-7db63875d0198c92e0ab554147ad78f88623b173.tar.bz2 |
Adds optional only complete mpeg packets support.
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | codec.c | 3 | ||||
-rw-r--r-- | softhddev.c | 5 |
4 files changed, 10 insertions, 0 deletions
@@ -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. @@ -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 @@ -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); |