Commit graph

19 commits

Author SHA1 Message Date
Stéphane Cerveau
894124835f multifile: allow per feature registration
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.

More details here:

https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
2021-03-29 12:45:22 +02:00
Tim-Philipp Müller
eb5ee5b7a3 multifilesink: refactor max_files handling a bit
Use GQueue instead of a GSList so we don't have to traverse
the whole list to append something every time. And it also
keeps track of the number of items in it for us.

Add a function to add filenames to the list of old files and
use it in more places, so that memory doesn't build up in
other modes either if no max_files limit is specified.

https://bugzilla.gnome.org/show_bug.cgi?id=766991
2016-12-31 09:58:40 +00:00
Edward Hervey
27c91bc881 multifilesink: Add a new max-duration file switching mode
This new mode ensures that files will never exceed a certain duration
based on incoming buffer PTS (and duration if present)

Note:
* You need timestamped buffers (duh). If some of the incoming buffers don't
  have PTS, then it will just accept them in the current file
2015-05-20 15:50:07 +02:00
Edward Hervey
db0abbd531 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>
2015-05-20 15:49:57 +02:00
Tim-Philipp Müller
d506409af5 docs: get rid of 'Since: 0.10.x' markers
And some gtk-doc markup fixes.
2013-11-18 14:47:35 +00:00
Tim-Philipp Müller
230cf41cc9 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Stefan Sauer
b5324c288b docs: add add the two enum values that were just added too 2011-12-06 16:47:25 +01:00
Stefan Sauer
64dd9f18a7 multifilesink: expose the enum property docs for splitting mode.
Fixes #665666.
2011-12-06 16:16:12 +01:00
Tim-Philipp Müller
bced3c218a multifilesink: add new 'max-size' mode for switching to the next file 2011-12-01 12:50:58 +00:00
Tim-Philipp Müller
5ffee06f14 multifilesink: add "max-file-size" property for new next-file mode 2011-12-01 12:50:58 +00:00
Alessandro Decina
ed98755241 multifilesink: add flag to cut after a force key unit event 2011-12-01 13:25:45 +01:00
Alessandro Decina
072bd74cc4 multifilesink: add max-files property
Add max-files property to limit the number of files saved on disk.

API: multifilesink::max-files
2011-07-18 10:21:41 +02:00
David Schleef
6ab508dfa5 multifilesink: send stream headers in key-frame mode 2011-01-02 19:22:47 -08:00
Stefan Kost
f1a75adcbc i18n: build fixes: #if -> #ifdef for ENABLE_NLS 2010-03-22 17:26:37 +02:00
David Schleef
acb6ebbc9a multifilesink: Add key-frame option to next-file
This allows segmenting of MPEG-TS files at key frames, which is
exactly what is needed for Apple's HTTP streaming.
2010-03-09 13:52:30 -08:00
David Schleef
78eeb6636e multifilesink: Add next-file property
Add a property to allow control over what event causes a file
to finish being written and a new file start.  The default is
the same as before -- each buffer causes a new file to be
written.  Added is a case where buffers are written to the
same file until a discontinuity in the stream.
2009-09-13 20:00:53 -07:00
Wim Taymans
1935483fbf multifilesink: rename silent to post-messages
Use the post-messages property name instead of silent as it is more
descriptive.
2009-09-11 13:12:54 +02:00
Wim Taymans
f68cd7e708 multifilesink: post messages for each buffer
Add a silent property that can be set to FALSE to post messages on the bus for
each written file.
Do some more cleanups.
Add some docs.

Fixes #594663
2009-09-11 12:17:21 +02:00
Stefan Kost
6f765c5f1d gst/multifile/: Add .h files to be able to add it to the docs.
Original commit message from CVS:
* gst/multifile/Makefile.am:
* gst/multifile/gstmultifile.c:
* gst/multifile/gstmultifilesink.c:
* gst/multifile/gstmultifilesink.h:
* gst/multifile/gstmultifilesrc.c:
* gst/multifile/gstmultifilesrc.h:
Add .h files to be able to add it to the docs.
2007-07-03 08:01:18 +00:00