GstClockTime out_timestamp, out_duration;
guint64 out_offset, out_offset_end;
gboolean delta_unit = FALSE;
+ gboolean is_header;
cret = GST_FLOW_OK;
}
/* get timing info for the packet */
- if (gst_ogg_stream_packet_is_header (&pad->map, packet)) {
+ is_header = gst_ogg_stream_packet_is_header (&pad->map, packet);
+ if (is_header) {
duration = 0;
GST_DEBUG_OBJECT (ogg, "packet is header");
} else {
if (delta_unit)
GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_DELTA_UNIT);
+ /* set header flag for buffers that are also in the streamheaders */
+ if (is_header)
+ GST_BUFFER_FLAG_SET (buf, GST_BUFFER_FLAG_HEADER);
+
if (packet->packet != NULL) {
/* copy packet in buffer */
gst_buffer_fill (buf, 0, packet->packet + offset,