summaryrefslogtreecommitdiff
path: root/gst-libs
diff options
context:
space:
mode:
Diffstat (limited to 'gst-libs')
-rw-r--r--gst-libs/gst/codecparsers/gsth264parser.c12
-rw-r--r--gst-libs/gst/codecparsers/nalutils.c15
-rw-r--r--gst-libs/gst/codecparsers/nalutils.h1
3 files changed, 8 insertions, 20 deletions
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c
index 63312d666..99f083554 100644
--- a/gst-libs/gst/codecparsers/gsth264parser.c
+++ b/gst-libs/gst/codecparsers/gsth264parser.c
@@ -882,10 +882,14 @@ gst_h264_parser_parse_sei_message (GstH264NalParser * nalparser,
res = gst_h264_parser_parse_pic_timing (nalparser,
&sei->payload.pic_timing, nr);
} else {
- /* Just consume payloadSize */
- guint32 i;
- for (i = 0; i < payloadSize; i++)
- nal_reader_skip_to_next_byte (nr);
+ /* Just consume payloadSize bytes, which does not account for
+ emulation prevention bytes */
+ guint nbits = payload_size % 8;
+ while (payload_size > 0) {
+ nal_reader_skip (nr, nbits);
+ payload_size -= nbits;
+ nbits = 8;
+ }
res = GST_H264_PARSER_OK;
}
diff --git a/gst-libs/gst/codecparsers/nalutils.c b/gst-libs/gst/codecparsers/nalutils.c
index 60ec0f3a5..694066d95 100644
--- a/gst-libs/gst/codecparsers/nalutils.c
+++ b/gst-libs/gst/codecparsers/nalutils.c
@@ -124,21 +124,6 @@ nal_reader_skip (NalReader * nr, guint nbits)
return TRUE;
}
-inline gboolean
-nal_reader_skip_to_next_byte (NalReader * nr)
-{
- if (nr->bits_in_cache == 0) {
- if (G_LIKELY ((nr->size - nr->byte) > 0))
- nr->byte++;
- else
- return FALSE;
- }
-
- nr->bits_in_cache = 0;
-
- return TRUE;
-}
-
inline guint
nal_reader_get_pos (const NalReader * nr)
{
diff --git a/gst-libs/gst/codecparsers/nalutils.h b/gst-libs/gst/codecparsers/nalutils.h
index 44a0e6089..5d231f22d 100644
--- a/gst-libs/gst/codecparsers/nalutils.h
+++ b/gst-libs/gst/codecparsers/nalutils.h
@@ -57,7 +57,6 @@ void nal_reader_init (NalReader * nr, const guint8 * data, guint size);
gboolean nal_reader_read (NalReader * nr, guint nbits);
gboolean nal_reader_skip (NalReader * nr, guint nbits);
-gboolean nal_reader_skip_to_next_byte (NalReader * nr);
guint nal_reader_get_pos (const NalReader * nr);
guint nal_reader_get_remaining (const NalReader * nr);
guint nal_reader_get_epb_count (const NalReader * nr);