multifilesink: add "aggregate-gops" property to process GOPs as a whole
authorEdward Hervey <edward@centricular.com>
Thu, 2 Apr 2015 12:35:18 +0000 (13:35 +0100)
committerEdward Hervey <bilboed@bilboed.com>
Wed, 20 May 2015 13:49:57 +0000 (15:49 +0200)
commitdb0abbd5317d1809eed58413aa03c9027fe6aef8
treefd5a4743ee8f23af30ae8519423fb3aad4161ea2
parent9b14170355501b2c1f43b48a2e15789c5899722c
multifilesink: add "aggregate-gops" property to process GOPs as a whole

This property can be used in combination with next-file=max-size
(and perhaps a future next-file=max-duration) to make sure that
each file part starts cleanly with a key frame and the appropriate headers.

In order for this property to work correctly, upstream elements should make
sure than any headers that need to be written in a standalone file are:
1) in the streamheader caps field
2) and/or in the stream as one or more buffers marked with GST_BUFFER_FLAG_HEADER
   that are just before the keyframe buffer

This is useful for MPEG-TS/MPEG-PS file segmenting in
combination with mpegtsmux or mpegpsmux.

Original patch by: Tim-Philipp Müller <tim@centricular.com>
gst/multifile/gstmultifilesink.c
gst/multifile/gstmultifilesink.h