Add method to get RDT flags
Add a method to get the RDT flags. We need these flags to mark keyframes to reset the descrambing queue. See #556714.
This commit is contained in:
parent
3bcd050fab
commit
9ce447007e
@ -423,3 +423,35 @@ gst_rdt_packet_data_get_timestamp (GstRDTPacket * packet)
|
|||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
guint8
|
||||||
|
gst_rdt_packet_data_get_flags (GstRDTPacket * packet)
|
||||||
|
{
|
||||||
|
guint8 result;
|
||||||
|
guint header;
|
||||||
|
gboolean length_included_flag;
|
||||||
|
guint8 *bufdata;
|
||||||
|
guint bufsize;
|
||||||
|
|
||||||
|
g_return_val_if_fail (packet != NULL, 0);
|
||||||
|
g_return_val_if_fail (GST_RDT_IS_DATA_TYPE (packet->type), 0);
|
||||||
|
|
||||||
|
bufdata = GST_BUFFER_DATA (packet->buffer);
|
||||||
|
bufsize = GST_BUFFER_SIZE (packet->buffer);
|
||||||
|
|
||||||
|
header = packet->offset;
|
||||||
|
|
||||||
|
length_included_flag = (bufdata[header] & 0x80) == 0x80;
|
||||||
|
|
||||||
|
/* skip seq_no and header bits */
|
||||||
|
header += 3;
|
||||||
|
|
||||||
|
if (length_included_flag) {
|
||||||
|
/* skip length */
|
||||||
|
header += 2;
|
||||||
|
}
|
||||||
|
/* get flags */
|
||||||
|
result = bufdata[header];
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
@ -109,6 +109,8 @@ gboolean gst_rdt_packet_data_peek_data (GstRDTPacket *packet, guint8
|
|||||||
guint16 gst_rdt_packet_data_get_stream_id (GstRDTPacket *packet);
|
guint16 gst_rdt_packet_data_get_stream_id (GstRDTPacket *packet);
|
||||||
guint32 gst_rdt_packet_data_get_timestamp (GstRDTPacket *packet);
|
guint32 gst_rdt_packet_data_get_timestamp (GstRDTPacket *packet);
|
||||||
|
|
||||||
|
guint8 gst_rdt_packet_data_get_flags (GstRDTPacket * packet);
|
||||||
|
|
||||||
/* utils */
|
/* utils */
|
||||||
gint gst_rdt_buffer_compare_seqnum (guint16 seqnum1, guint16 seqnum2);
|
gint gst_rdt_buffer_compare_seqnum (guint16 seqnum1, guint16 seqnum2);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user