mirror of
https://projects.vdr-developer.org/git/vdr-plugin-softhddevice.git
synced 2023-10-10 19:16:51 +02:00
Adds optional only complete mpeg packets support.
This commit is contained in:
parent
637c04655a
commit
7db63875d0
@ -2,6 +2,7 @@ User johns
|
|||||||
Date:
|
Date:
|
||||||
|
|
||||||
Release Version 0.6.0
|
Release Version 0.6.0
|
||||||
|
Adds optional only complete mpeg packets support.
|
||||||
Fixes text of EAC-3 pass-through setup.
|
Fixes text of EAC-3 pass-through setup.
|
||||||
Try to start or connect to X11 server with -xx.
|
Try to start or connect to X11 server with -xx.
|
||||||
Try to use HBR (High Bit-Rate) for EAC3.
|
Try to use HBR (High Bit-Rate) for EAC3.
|
||||||
|
1
Makefile
1
Makefile
@ -30,6 +30,7 @@ CONFIG += -DUSE_PIP # PIP support
|
|||||||
#CONFIG += -DHAVE_PTHREAD_NAME # supports new pthread_setname_np
|
#CONFIG += -DHAVE_PTHREAD_NAME # supports new pthread_setname_np
|
||||||
#CONFIG += -DNO_TS_AUDIO # disable ts audio parser
|
#CONFIG += -DNO_TS_AUDIO # disable ts audio parser
|
||||||
#CONFIG += -DUSE_TS_VIDEO # build new ts video parser
|
#CONFIG += -DUSE_TS_VIDEO # build new ts video parser
|
||||||
|
#CONFIG += -DUSE_MPEG_COMPLETE # support only complete mpeg packets
|
||||||
|
|
||||||
ifeq ($(ALSA),1)
|
ifeq ($(ALSA),1)
|
||||||
CONFIG += -DUSE_ALSA
|
CONFIG += -DUSE_ALSA
|
||||||
|
3
codec.c
3
codec.c
@ -441,8 +441,11 @@ void CodecVideoOpen(VideoDecoder * decoder, const char *name, int codec_id)
|
|||||||
}
|
}
|
||||||
if (video_codec->capabilities & CODEC_CAP_TRUNCATED) {
|
if (video_codec->capabilities & CODEC_CAP_TRUNCATED) {
|
||||||
Debug(3, "codec: video can use truncated packets\n");
|
Debug(3, "codec: video can use truncated packets\n");
|
||||||
|
#ifndef USE_MPEG_COMPLETE
|
||||||
// we send incomplete frames, for old PES recordings
|
// we send incomplete frames, for old PES recordings
|
||||||
|
// this breaks the decoder for some stations
|
||||||
decoder->VideoCtx->flags |= CODEC_FLAG_TRUNCATED;
|
decoder->VideoCtx->flags |= CODEC_FLAG_TRUNCATED;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
// FIXME: own memory management for video frames.
|
// FIXME: own memory management for video frames.
|
||||||
if (video_codec->capabilities & CODEC_CAP_DR1) {
|
if (video_codec->capabilities & CODEC_CAP_DR1) {
|
||||||
|
@ -2249,11 +2249,16 @@ int PlayVideo3(VideoStream * stream, const uint8_t * data, int size)
|
|||||||
if (stream->CodecID == CODEC_ID_MPEG2VIDEO) {
|
if (stream->CodecID == CODEC_ID_MPEG2VIDEO) {
|
||||||
// SKIP PES header
|
// SKIP PES header
|
||||||
VideoMpegEnqueue(stream, pts, data + 9 + n, size - 9 - n);
|
VideoMpegEnqueue(stream, pts, data + 9 + n, size - 9 - n);
|
||||||
|
#ifndef USE_MPEG_COMPLETE
|
||||||
if (size < 65526) {
|
if (size < 65526) {
|
||||||
// mpeg codec supports incomplete packets
|
// mpeg codec supports incomplete packets
|
||||||
// waiting for a full complete packages, increases needed delays
|
// 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);
|
VideoNextPacket(stream, stream->CodecID);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
// SKIP PES header
|
// SKIP PES header
|
||||||
VideoEnqueue(stream, pts, data + 9 + n, size - 9 - n);
|
VideoEnqueue(stream, pts, data + 9 + n, size - 9 - n);
|
||||||
|
Loading…
Reference in New Issue
Block a user