diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth264bitwriter.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth264bitwriter.c index 4079924d40..7233c1fe9a 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth264bitwriter.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth264bitwriter.c @@ -1600,8 +1600,10 @@ gst_h264_bit_writer_convert_to_nal (guint nal_prefix_size, gboolean packetized, goto error; if (raw_size % 8) { - if (!nal_writer_put_bits_uint8 (&nw, *(raw_data + raw_size / 8), - raw_size % 8)) + guint8 data = *(raw_data + raw_size / 8); + + if (!nal_writer_put_bits_uint8 (&nw, + data >> (8 - raw_size % 8), raw_size % 8)) goto error; } diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265bitwriter.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265bitwriter.c index 7bd5925332..5f8690b8ad 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265bitwriter.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265bitwriter.c @@ -2267,8 +2267,10 @@ gst_h265_bit_writer_convert_to_nal (guint nal_prefix_size, goto error; if (raw_size % 8) { - if (!nal_writer_put_bits_uint8 (&nw, *(raw_data + raw_size / 8), - raw_size % 8)) + guint8 data = *(raw_data + raw_size / 8); + + if (!nal_writer_put_bits_uint8 (&nw, + data >> (8 - raw_size % 8), raw_size % 8)) goto error; }