summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--Makefile1
-rw-r--r--codec.c3
-rw-r--r--softhddev.c5
4 files changed, 10 insertions, 0 deletions
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);