mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-05 17:09:48 +00:00
mpeg4videoparse: accept VideoObjectLayer as start of frame and config
... which it deserves as much as VideoObject. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=667564
This commit is contained in:
parent
1698d3254d
commit
fac0f1f668
1 changed files with 10 additions and 2 deletions
|
@ -379,10 +379,15 @@ gst_mpeg4vparse_process_sc (GstMpeg4VParse * mp4vparse, GstMpeg4Packet * packet,
|
||||||
|
|
||||||
GST_LOG_OBJECT (mp4vparse, "Video Object Layer");
|
GST_LOG_OBJECT (mp4vparse, "Video Object Layer");
|
||||||
|
|
||||||
/* wee keep track of the offset to parse later on */
|
/* we keep track of the offset to parse later on */
|
||||||
if (mp4vparse->vol_offset < 0)
|
if (mp4vparse->vol_offset < 0)
|
||||||
mp4vparse->vol_offset = packet->offset;
|
mp4vparse->vol_offset = packet->offset;
|
||||||
|
|
||||||
|
/* Video Object below is merely a start code,
|
||||||
|
* if that is considered as config, then certainly Video Object Layer
|
||||||
|
* which really contains some needed data */
|
||||||
|
mp4vparse->config_found = TRUE;
|
||||||
|
|
||||||
/* VO (video object) cases */
|
/* VO (video object) cases */
|
||||||
} else if (packet->type <= GST_MPEG4_VIDEO_OBJ_LAST) {
|
} else if (packet->type <= GST_MPEG4_VIDEO_OBJ_LAST) {
|
||||||
GST_LOG_OBJECT (mp4vparse, "Video object");
|
GST_LOG_OBJECT (mp4vparse, "Video object");
|
||||||
|
@ -458,8 +463,11 @@ retry:
|
||||||
default:
|
default:
|
||||||
if (packet.type <= GST_MPEG4_VIDEO_OBJ_LAST)
|
if (packet.type <= GST_MPEG4_VIDEO_OBJ_LAST)
|
||||||
break;
|
break;
|
||||||
|
if (packet.type >= GST_MPEG4_VIDEO_LAYER_FIRST &&
|
||||||
|
packet.type <= GST_MPEG4_VIDEO_LAYER_LAST)
|
||||||
|
break;
|
||||||
/* undesirable sc */
|
/* undesirable sc */
|
||||||
GST_LOG_OBJECT (mp4vparse, "start code is no VOS, VO, VOP or GOP");
|
GST_LOG_OBJECT (mp4vparse, "start code is no VOS, VO, VOL, VOP or GOP");
|
||||||
goto retry;
|
goto retry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue