isomp4: Rename GstQTMux to GstBaseQTMux to avoid breaking API

Since 52b63de19a the qtmux GType was
renamed GstQTMuxElement which breaks presets, revert that change.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/755>
This commit is contained in:
Thibault Saunier 2020-09-29 09:44:54 -03:00
parent f95dde512c
commit 6eef0967b9
4 changed files with 32 additions and 32 deletions

View file

@ -7491,7 +7491,7 @@
"description": "Multiplex audio and video into a 3GPP file", "description": "Multiplex audio and video into a 3GPP file",
"hierarchy": [ "hierarchy": [
"Gst3GPPMux", "Gst3GPPMux",
"GstQTMux", "GstBaseQTMux",
"GstAggregator", "GstAggregator",
"GstElement", "GstElement",
"GstObject", "GstObject",
@ -7552,7 +7552,7 @@
"description": "Multiplex audio and video into a ISML file", "description": "Multiplex audio and video into a ISML file",
"hierarchy": [ "hierarchy": [
"GstISMLMux", "GstISMLMux",
"GstQTMux", "GstBaseQTMux",
"GstAggregator", "GstAggregator",
"GstElement", "GstElement",
"GstObject", "GstObject",
@ -7607,7 +7607,7 @@
"description": "Multiplex audio and video into a MJ2 file", "description": "Multiplex audio and video into a MJ2 file",
"hierarchy": [ "hierarchy": [
"GstMJ2Mux", "GstMJ2Mux",
"GstQTMux", "GstBaseQTMux",
"GstAggregator", "GstAggregator",
"GstElement", "GstElement",
"GstObject", "GstObject",
@ -7662,7 +7662,7 @@
"description": "Multiplex audio and video into a MP4 file", "description": "Multiplex audio and video into a MP4 file",
"hierarchy": [ "hierarchy": [
"GstMP4Mux", "GstMP4Mux",
"GstQTMux", "GstBaseQTMux",
"GstAggregator", "GstAggregator",
"GstElement", "GstElement",
"GstObject", "GstObject",
@ -7828,8 +7828,8 @@
"author": "Thiago Sousa Santos <thiagoss@embedded.ufcg.edu.br>", "author": "Thiago Sousa Santos <thiagoss@embedded.ufcg.edu.br>",
"description": "Multiplex audio and video into a QuickTime file", "description": "Multiplex audio and video into a QuickTime file",
"hierarchy": [ "hierarchy": [
"GstQTMuxElement",
"GstQTMux", "GstQTMux",
"GstBaseQTMux",
"GstAggregator", "GstAggregator",
"GstElement", "GstElement",
"GstObject", "GstObject",
@ -7923,9 +7923,9 @@
"filename": "gstisomp4", "filename": "gstisomp4",
"license": "LGPL", "license": "LGPL",
"other-types": { "other-types": {
"GstQTMux": { "GstBaseQTMux": {
"hierarchy": [ "hierarchy": [
"GstQTMux", "GstBaseQTMux",
"GstAggregator", "GstAggregator",
"GstElement", "GstElement",
"GstObject", "GstObject",

View file

@ -67,7 +67,7 @@
* The fragmented file features defined (only) in ISO Base Media are used by * The fragmented file features defined (only) in ISO Base Media are used by
* ISMV files making up (a.o.) Smooth Streaming (ismlmux). * ISMV files making up (a.o.) Smooth Streaming (ismlmux).
* *
* A few properties (#GstQTMux:movie-timescale, #GstQTMux:trak-timescale, * A few properties (#GstBaseQTMux:movie-timescale, #GstBaseQTMux:trak-timescale,
* #GstQTMuxPad:trak-timescale) allow adjusting some technical parameters, * #GstQTMuxPad:trak-timescale) allow adjusting some technical parameters,
* which might be useful in (rare) cases to resolve compatibility issues in * which might be useful in (rare) cases to resolve compatibility issues in
* some situations. * some situations.
@ -75,28 +75,28 @@
* Some other properties influence the result more fundamentally. * Some other properties influence the result more fundamentally.
* A typical mov/mp4 file's metadata (aka moov) is located at the end of the * A typical mov/mp4 file's metadata (aka moov) is located at the end of the
* file, somewhat contrary to this usually being called "the header". * file, somewhat contrary to this usually being called "the header".
* However, a #GstQTMux:faststart file will (with some effort) arrange this to * However, a #GstBaseQTMux:faststart file will (with some effort) arrange this to
* be located near start of the file, which then allows it e.g. to be played * be located near start of the file, which then allows it e.g. to be played
* while downloading. Alternatively, rather than having one chunk of metadata at * while downloading. Alternatively, rather than having one chunk of metadata at
* start (or end), there can be some metadata at start and most of the other * start (or end), there can be some metadata at start and most of the other
* data can be spread out into fragments of #GstQTMux:fragment-duration. * data can be spread out into fragments of #GstBaseQTMux:fragment-duration.
* If such fragmented layout is intended for streaming purposes, then * If such fragmented layout is intended for streaming purposes, then
* #GstQTMuxElement:streamable allows foregoing to add index metadata (at the end of * #GstQTMux:streamable allows foregoing to add index metadata (at the end of
* file). * file).
* *
* When the maximum duration to be recorded can be known in advance, #GstQTMuxElement * When the maximum duration to be recorded can be known in advance, #GstQTMux
* also supports a 'Robust Muxing' mode. In robust muxing mode, space for the * also supports a 'Robust Muxing' mode. In robust muxing mode, space for the
* headers are reserved at the start of muxing, and rewritten at a configurable * headers are reserved at the start of muxing, and rewritten at a configurable
* interval, so that the output file is always playable, even if the recording * interval, so that the output file is always playable, even if the recording
* is interrupted uncleanly by a crash. Robust muxing mode requires a seekable * is interrupted uncleanly by a crash. Robust muxing mode requires a seekable
* output, such as filesink, because it needs to rewrite the start of the file. * output, such as filesink, because it needs to rewrite the start of the file.
* *
* To enable robust muxing mode, set the #GstQTMux:reserved-moov-update-period * To enable robust muxing mode, set the #GstBaseQTMux:reserved-moov-update-period
* and #GstQTMux:reserved-max-duration property. Also present is the * and #GstBaseQTMux:reserved-max-duration property. Also present is the
* #GstQTMux:reserved-bytes-per-sec property, which can be increased if * #GstBaseQTMux:reserved-bytes-per-sec property, which can be increased if
* for some reason the default is not large enough and the initial reserved * for some reason the default is not large enough and the initial reserved
* space for headers is too small. Applications can monitor the * space for headers is too small. Applications can monitor the
* #GstQTMux:reserved-duration-remaining property to see how close to full * #GstBaseQTMux:reserved-duration-remaining property to see how close to full
* the reserved space is becoming. * the reserved space is becoming.
* *
* Applications that wish to be able to use/edit a file while it is being * Applications that wish to be able to use/edit a file while it is being
@ -105,7 +105,7 @@
* completely valid header from the start for all tracks (i.e. it appears as * completely valid header from the start for all tracks (i.e. it appears as
* though the file is "reserved-max-duration" long with all samples * though the file is "reserved-max-duration" long with all samples
* present). This mode can be enabled by setting the * present). This mode can be enabled by setting the
* #GstQTMux:reserved-moov-update-period and #GstQTMux:reserved-prefill * #GstBaseQTMux:reserved-moov-update-period and #GstBaseQTMux:reserved-prefill
* properties. Note that this mode is only possible with input streams that have * properties. Note that this mode is only possible with input streams that have
* a fixed sample size (such as raw audio and Prores Video) and that don't * a fixed sample size (such as raw audio and Prores Video) and that don't
* have reordered samples. * have reordered samples.
@ -142,18 +142,18 @@
* The fragmented file features defined (only) in ISO Base Media are used by * The fragmented file features defined (only) in ISO Base Media are used by
* ISMV files making up (a.o.) Smooth Streaming (ismlmux). * ISMV files making up (a.o.) Smooth Streaming (ismlmux).
* *
* A few properties (#GstQTMux:movie-timescale, #GstQTMux:trak-timescale) * A few properties (#GstBaseQTMux:movie-timescale, #GstBaseQTMux:trak-timescale)
* allow adjusting some technical parameters, which might be useful in (rare) * allow adjusting some technical parameters, which might be useful in (rare)
* cases to resolve compatibility issues in some situations. * cases to resolve compatibility issues in some situations.
* *
* Some other properties influence the result more fundamentally. * Some other properties influence the result more fundamentally.
* A typical mov/mp4 file's metadata (aka moov) is located at the end of the * A typical mov/mp4 file's metadata (aka moov) is located at the end of the
* file, somewhat contrary to this usually being called "the header". * file, somewhat contrary to this usually being called "the header".
* However, a #GstQTMux:faststart file will (with some effort) arrange this to * However, a #GstBaseQTMux:faststart file will (with some effort) arrange this to
* be located near start of the file, which then allows it e.g. to be played * be located near start of the file, which then allows it e.g. to be played
* while downloading. Alternatively, rather than having one chunk of metadata at * while downloading. Alternatively, rather than having one chunk of metadata at
* start (or end), there can be some metadata at start and most of the other * start (or end), there can be some metadata at start and most of the other
* data can be spread out into fragments of #GstQTMux:fragment-duration. * data can be spread out into fragments of #GstBaseQTMux:fragment-duration.
* If such fragmented layout is intended for streaming purposes, then * If such fragmented layout is intended for streaming purposes, then
* #GstMP4Mux:streamable allows foregoing to add index metadata (at the end of * #GstMP4Mux:streamable allows foregoing to add index metadata (at the end of
* file). * file).
@ -191,18 +191,18 @@
* The fragmented file features defined (only) in ISO Base Media are used by * The fragmented file features defined (only) in ISO Base Media are used by
* ISMV files making up (a.o.) Smooth Streaming (ismlmux). * ISMV files making up (a.o.) Smooth Streaming (ismlmux).
* *
* A few properties (#GstQTMux:movie-timescale, #GstQTMux:trak-timescale) * A few properties (#GstBaseQTMux:movie-timescale, #GstBaseQTMux:trak-timescale)
* allow adjusting some technical parameters, which might be useful in (rare) * allow adjusting some technical parameters, which might be useful in (rare)
* cases to resolve compatibility issues in some situations. * cases to resolve compatibility issues in some situations.
* *
* Some other properties influence the result more fundamentally. * Some other properties influence the result more fundamentally.
* A typical mov/mp4 file's metadata (aka moov) is located at the end of the file, * A typical mov/mp4 file's metadata (aka moov) is located at the end of the file,
* somewhat contrary to this usually being called "the header". However, a * somewhat contrary to this usually being called "the header". However, a
* #GstQTMux:faststart file will (with some effort) arrange this to be located * #GstBaseQTMux:faststart file will (with some effort) arrange this to be located
* near start of the file, which then allows it e.g. to be played while * near start of the file, which then allows it e.g. to be played while
* downloading. Alternatively, rather than having one chunk of metadata at start * downloading. Alternatively, rather than having one chunk of metadata at start
* (or end), there can be some metadata at start and most of the other data can * (or end), there can be some metadata at start and most of the other data can
* be spread out into fragments of #GstQTMux:fragment-duration. If such * be spread out into fragments of #GstBaseQTMux:fragment-duration. If such
* fragmented layout is intended for streaming purposes, then * fragmented layout is intended for streaming purposes, then
* #Gst3GPPMux:streamable allows foregoing to add index metadata (at the end of * #Gst3GPPMux:streamable allows foregoing to add index metadata (at the end of
* file). * file).
@ -241,18 +241,18 @@
* The fragmented file features defined (only) in ISO Base Media are used by * The fragmented file features defined (only) in ISO Base Media are used by
* ISMV files making up (a.o.) Smooth Streaming (ismlmux). * ISMV files making up (a.o.) Smooth Streaming (ismlmux).
* *
* A few properties (#GstQTMux:movie-timescale, #GstQTMux:trak-timescale) * A few properties (#GstBaseQTMux:movie-timescale, #GstBaseQTMux:trak-timescale)
* allow adjusting some technical parameters, which might be useful in (rare) * allow adjusting some technical parameters, which might be useful in (rare)
* cases to resolve compatibility issues in some situations. * cases to resolve compatibility issues in some situations.
* *
* Some other properties influence the result more fundamentally. * Some other properties influence the result more fundamentally.
* A typical mov/mp4 file's metadata (aka moov) is located at the end of the file, * A typical mov/mp4 file's metadata (aka moov) is located at the end of the file,
* somewhat contrary to this usually being called "the header". However, a * somewhat contrary to this usually being called "the header". However, a
* #GstQTMux:faststart file will (with some effort) arrange this to be located * #GstBaseQTMux:faststart file will (with some effort) arrange this to be located
* near start of the file, which then allows it e.g. to be played while * near start of the file, which then allows it e.g. to be played while
* downloading. Alternatively, rather than having one chunk of metadata at start * downloading. Alternatively, rather than having one chunk of metadata at start
* (or end), there can be some metadata at start and most of the other data can * (or end), there can be some metadata at start and most of the other data can
* be spread out into fragments of #GstQTMux:fragment-duration. If such * be spread out into fragments of #GstBaseQTMux:fragment-duration. If such
* fragmented layout is intended for streaming purposes, then * fragmented layout is intended for streaming purposes, then
* #GstMJ2Mux:streamable allows foregoing to add index metadata (at the end of * #GstMJ2Mux:streamable allows foregoing to add index metadata (at the end of
* file). * file).
@ -291,18 +291,18 @@
* The fragmented file features defined (only) in ISO Base Media are used by * The fragmented file features defined (only) in ISO Base Media are used by
* ISMV files making up (a.o.) Smooth Streaming (ismlmux). * ISMV files making up (a.o.) Smooth Streaming (ismlmux).
* *
* A few properties (#GstQTMux:movie-timescale, #GstQTMux:trak-timescale) * A few properties (#GstBaseQTMux:movie-timescale, #GstBaseQTMux:trak-timescale)
* allow adjusting some technical parameters, which might be useful in (rare) * allow adjusting some technical parameters, which might be useful in (rare)
* cases to resolve compatibility issues in some situations. * cases to resolve compatibility issues in some situations.
* *
* Some other properties influence the result more fundamentally. * Some other properties influence the result more fundamentally.
* A typical mov/mp4 file's metadata (aka moov) is located at the end of the file, * A typical mov/mp4 file's metadata (aka moov) is located at the end of the file,
* somewhat contrary to this usually being called "the header". However, a * somewhat contrary to this usually being called "the header". However, a
* #GstQTMux:faststart file will (with some effort) arrange this to be located * #GstBaseQTMux:faststart file will (with some effort) arrange this to be located
* near start of the file, which then allows it e.g. to be played while * near start of the file, which then allows it e.g. to be played while
* downloading. Alternatively, rather than having one chunk of metadata at start * downloading. Alternatively, rather than having one chunk of metadata at start
* (or end), there can be some metadata at start and most of the other data can * (or end), there can be some metadata at start and most of the other data can
* be spread out into fragments of #GstQTMux:fragment-duration. If such * be spread out into fragments of #GstBaseQTMux:fragment-duration. If such
* fragmented layout is intended for streaming purposes, then * fragmented layout is intended for streaming purposes, then
* #GstISMLMux:streamable allows foregoing to add index metadata (at the end of * #GstISMLMux:streamable allows foregoing to add index metadata (at the end of
* file). * file).

View file

@ -597,7 +597,7 @@ gst_qt_mux_class_init (GstQTMuxClass * klass)
G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS));
/** /**
* GstQTMux:fragment-mode: * GstBaseQTMux:fragment-mode:
* *
* Influence how fragmented files are produces. Only has any affect when the * Influence how fragmented files are produces. Only has any affect when the
* the 'fragment-duration' property is set to a value greater than '0' * the 'fragment-duration' property is set to a value greater than '0'
@ -7352,7 +7352,7 @@ gst_qt_mux_register (GstPlugin * plugin)
GST_LOG ("Registering muxers"); GST_LOG ("Registering muxers");
parent_type = parent_type =
g_type_register_static (GST_TYPE_AGGREGATOR, "GstQTMux", g_type_register_static (GST_TYPE_AGGREGATOR, "GstBaseQTMux",
&parent_typeinfo, 0); &parent_typeinfo, 0);
g_type_add_interface_static (parent_type, GST_TYPE_TAG_SETTER, g_type_add_interface_static (parent_type, GST_TYPE_TAG_SETTER,
&tag_setter_info); &tag_setter_info);

View file

@ -179,7 +179,7 @@ GstQTMuxFormatProp gst_qt_mux_format_list[] = {
GST_RANK_PRIMARY, GST_RANK_PRIMARY,
"qtmux", "qtmux",
"QuickTime", "QuickTime",
"GstQTMuxElement", "GstQTMux",
GST_STATIC_CAPS ("video/quicktime, variant = (string) apple; " GST_STATIC_CAPS ("video/quicktime, variant = (string) apple; "
"video/quicktime"), "video/quicktime"),
GST_STATIC_CAPS ("video/x-raw, " GST_STATIC_CAPS ("video/x-raw, "