h264/h265parse: Fix initial skip

Account for start codes possibly be 4 bytes. For HEVC, also take into
account that we might be missing only one of the two identification
bytes.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251>
This commit is contained in:
Nicolas Dufresne 2020-05-07 11:06:45 -04:00
parent 3784bd4a73
commit 269ab891c5
2 changed files with 6 additions and 2 deletions

View file

@ -1384,7 +1384,8 @@ gst_h264_parse_handle_frame (GstBaseParse * parse,
} }
break; break;
case GST_H264_PARSER_NO_NAL: case GST_H264_PARSER_NO_NAL:
*skipsize = size - 3; /* Start code may have up to 4 bytes */
*skipsize = size - 4;
goto skip; goto skip;
break; break;
default: default:

View file

@ -1208,7 +1208,10 @@ gst_h265_parse_handle_frame (GstBaseParse * parse,
} }
break; break;
case GST_H265_PARSER_NO_NAL: case GST_H265_PARSER_NO_NAL:
*skipsize = size - 3; /* start code may have up to 4 bytes, and we may also get that return
* value if only one of the two header bytes are present, make sure
* not to skip too much */
*skipsize = size - 5;
goto skip; goto skip;
default: default:
/* should not really occur either */ /* should not really occur either */