qtmux: Implement the preset interface.

+ And provide a "youtube" preset, which based on
https://support.google.com/youtube/answer/1722171 sets
faststart to True.

https://bugzilla.gnome.org/show_bug.cgi?id=751559
This commit is contained in:
Mathieu Duponchelle 2015-06-26 20:13:17 +02:00 committed by Sebastian Dröge
parent c5300b7bc3
commit 26928b3df0
3 changed files with 15 additions and 1 deletions

6
gst/isomp4/GstQTMux.prs Normal file
View file

@ -0,0 +1,6 @@
[_presets_]
version=1.6.0
element-name=GstQTMux
[Profile YouTube]
faststart=true

View file

@ -18,6 +18,9 @@ libgstisomp4_la_SOURCES = isomp4-plugin.c gstrtpxqtdepay.c \
properties.c gstqtmuxmap.c gstisoff.c
libgstisomp4_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
presetdir = $(datadir)/gstreamer-$(GST_API_VERSION)/presets
preset_DATA = GstQTMux.prs
noinst_HEADERS = \
qtatomparser.h \
qtdemux.h \
@ -38,4 +41,5 @@ noinst_HEADERS = \
EXTRA_DIST = \
gstqtmux-doc.c \
gstqtmux-doc.h
gstqtmux-doc.h \
$(preset_DATA)

View file

@ -4737,6 +4737,9 @@ gst_qt_mux_register (GstPlugin * plugin)
static const GInterfaceInfo tag_xmp_writer_info = {
NULL, NULL, NULL
};
static const GInterfaceInfo preset_info = {
NULL, NULL, NULL
};
GType type;
GstQTMuxFormat format;
GstQTMuxClassParams *params;
@ -4775,6 +4778,7 @@ gst_qt_mux_register (GstPlugin * plugin)
g_type_add_interface_static (type, GST_TYPE_TAG_SETTER, &tag_setter_info);
g_type_add_interface_static (type, GST_TYPE_TAG_XMP_WRITER,
&tag_xmp_writer_info);
g_type_add_interface_static (type, GST_TYPE_PRESET, &preset_info);
if (!gst_element_register (plugin, prop->name, prop->rank, type))
return FALSE;