summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/demuxers/demux_ts.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/demuxers/demux_ts.c b/src/demuxers/demux_ts.c
index 86e216304..f31578073 100644
--- a/src/demuxers/demux_ts.c
+++ b/src/demuxers/demux_ts.c
@@ -2360,18 +2360,20 @@ static demux_plugin_t *open_plugin (demux_class_t *class_gen,
demux_ts_t *this;
int i;
int hdmv = -1;
+ int size;
switch (stream->content_detection_method) {
case METHOD_BY_CONTENT: {
uint8_t buf[2069];
- if (!_x_demux_read_header(input, buf, sizeof(buf)))
+ size = _x_demux_read_header(input, buf, sizeof(buf));
+ if (size < PKT_SIZE)
return NULL;
if (detect_ts(buf, sizeof(buf), PKT_SIZE))
hdmv = 0;
- else if (detect_ts(buf, sizeof(buf), PKT_SIZE+4))
+ else if (size >= PKT_SIZE + 4 && detect_ts(buf, sizeof(buf), PKT_SIZE+4))
hdmv = 1;
else
return NULL;