mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-10 19:31:12 +00:00
cleanups
Original commit message from CVS: cleanups
This commit is contained in:
parent
1281c84d09
commit
8f78f8c972
1 changed files with 104 additions and 138 deletions
|
@ -17,21 +17,6 @@
|
|||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
#include <dirent.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include <sys/soundcard.h>
|
||||
|
||||
#include "gstlame.h"
|
||||
|
||||
/* elementfactory information */
|
||||
|
@ -96,6 +81,7 @@ gst_lame_mode_get_type (void)
|
|||
{ 1, "1", "Joint-Stereo" },
|
||||
{ 2, "2", "Dual channel" },
|
||||
{ 3, "3", "Mono" },
|
||||
{ 4, "4", "Auto" },
|
||||
{ 0, NULL, NULL },
|
||||
};
|
||||
if (!lame_mode_type) {
|
||||
|
@ -179,7 +165,6 @@ enum {
|
|||
ARG_ATH_ONLY,
|
||||
ARG_ATH_SHORT,
|
||||
ARG_NO_ATH,
|
||||
/* ARG_ATH_TYPE, note: CVS has this, 3.87 doesn't */
|
||||
ARG_ATH_LOWER,
|
||||
ARG_CWLIMIT,
|
||||
ARG_ALLOW_DIFF_SHORT,
|
||||
|
@ -237,96 +222,103 @@ gst_lame_class_init (GstLameClass *klass)
|
|||
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_BITRATE,
|
||||
g_param_spec_int("bitrate", "Bitrate (kb/s)", "Bitrate in kbit/sec",
|
||||
8, 320, 128, G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_COMPRESSION_RATIO,
|
||||
g_param_spec_float("compression_ratio","compression_ratio","compression_ratio",
|
||||
0.0,200.0,11.0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_QUALITY,
|
||||
g_param_spec_enum("quality","quality","quality",
|
||||
GST_TYPE_LAME_QUALITY,5,G_PARAM_READWRITE)); /* CHECKME! */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MODE,
|
||||
g_param_spec_enum("mode","mode","mode",
|
||||
GST_TYPE_LAME_MODE,0,G_PARAM_READWRITE)); /* CHECKME! */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FORCE_MS,
|
||||
g_param_spec_boolean("force_ms","force_ms","force_ms",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_FREE_FORMAT,
|
||||
g_param_spec_boolean("free_format","free_format","free_format",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_COPYRIGHT,
|
||||
g_param_spec_boolean("copyright","copyright","copyright",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
8, 320, 128, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_COMPRESSION_RATIO,
|
||||
g_param_spec_float ("compression_ratio", "Compression Ratio",
|
||||
"choose bitrate to achive selected compression ratio",
|
||||
1.0, 200.0, 11.0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_QUALITY,
|
||||
g_param_spec_enum ("quality", "Quality", "Encoding Quality",
|
||||
GST_TYPE_LAME_QUALITY, 5, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_MODE,
|
||||
g_param_spec_enum ("mode", "Mode", "Encoding mode",
|
||||
GST_TYPE_LAME_MODE, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FORCE_MS,
|
||||
g_param_spec_boolean ("force_ms","Force ms","Force ms_stereo on all frames",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_FREE_FORMAT,
|
||||
g_param_spec_boolean ("free_format","Free format","Produce a free format bitstream",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_COPYRIGHT,
|
||||
g_param_spec_boolean ("copyright","Copyright","Mark as copyright",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ORIGINAL,
|
||||
g_param_spec_boolean("original","original","original",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ERROR_PROTECTION,
|
||||
g_param_spec_boolean("error_protection","error_protection","error_protection",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_PADDING_TYPE,
|
||||
g_param_spec_enum("padding_type","padding_type","padding_type",
|
||||
GST_TYPE_LAME_PADDING,0,G_PARAM_READWRITE)); /* CHECKME! */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_EXTENSION,
|
||||
g_param_spec_boolean("extension","extension","extension",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_STRICT_ISO,
|
||||
g_param_spec_boolean("strict_iso","strict_iso","strict_iso",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DISABLE_RESERVOIR,
|
||||
g_param_spec_boolean("disable_reservoir","disable_reservoir","disable_reservoir",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VBR,
|
||||
g_param_spec_boolean("vbr","vbr","vbr",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VBR_MEAN_BITRATE,
|
||||
g_param_spec_int("vbr_mean_bitrate","vbr_mean_bitrate","vbr_mean_bitrate",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VBR_MIN_BITRATE,
|
||||
g_param_spec_int("vbr_min_bitrate","vbr_min_bitrate","vbr_min_bitrate",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_param_spec_boolean("original", "Original", "Mark as non-original",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ERROR_PROTECTION,
|
||||
g_param_spec_boolean ("error_protection","Error protection",
|
||||
"Adds 16 bit checksum to every frame",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_PADDING_TYPE,
|
||||
g_param_spec_enum ("padding_type", "Padding type", "Padding type",
|
||||
GST_TYPE_LAME_PADDING, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_EXTENSION,
|
||||
g_param_spec_boolean ("extension", "Extension", "Extension",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_STRICT_ISO,
|
||||
g_param_spec_boolean ("strict_iso", "Strict ISO",
|
||||
"Comply as much as possible to ISO MPEG spec",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_DISABLE_RESERVOIR,
|
||||
g_param_spec_boolean ("disable_reservoir", "Disable reservoir", "Disable the bit reservoir",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VBR,
|
||||
g_param_spec_boolean ("vbr", "VBR", "Use variable bitrate",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VBR_MEAN_BITRATE,
|
||||
g_param_spec_int ("vbr_mean_bitrate", "VBR mean bitrate", "Specify mean bitrate",
|
||||
0, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_VBR_MIN_BITRATE,
|
||||
g_param_spec_int ("vbr_min_bitrate", "VBR min bitrate", "Specify min bitrate",
|
||||
0, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VBR_MAX_BITRATE,
|
||||
g_param_spec_int("vbr_max_bitrate","vbr_max_bitrate","vbr_max_bitrate",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_param_spec_int ("vbr_max_bitrate", "VBR max bitrate", "Specify max bitrate",
|
||||
0, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_VBR_HARD_MIN,
|
||||
g_param_spec_int("vbr_hard_min","vbr_hard_min","vbr_hard_min",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOWPASS_FREQ,
|
||||
g_param_spec_int("lowpass_freq","lowpass_freq","lowpass_freq",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_LOWPASS_WIDTH,
|
||||
g_param_spec_int("lowpass_width","lowpass_width","lowpass_width",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HIGHPASS_FREQ,
|
||||
g_param_spec_int("highpass_freq","highpass_freq","highpass_freq",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_HIGHPASS_WIDTH,
|
||||
g_param_spec_int("highpass_width","highpass_width","highpass_width",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ATH_ONLY,
|
||||
g_param_spec_boolean("ath_only","ath_only","ath_only",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ATH_SHORT,
|
||||
g_param_spec_boolean("ath_short","ath_short","ath_short",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NO_ATH,
|
||||
g_param_spec_boolean("no_ath","no_ath","no_ath",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
/* gtk_object_add_arg_type ("GstLame::ath_type", G_TYPE_INT,
|
||||
GTK_ARG_READWRITE, ARG_ATH_TYPE); */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ATH_LOWER,
|
||||
g_param_spec_int("ath_lower","ath_lower","ath_lower",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_CWLIMIT,
|
||||
g_param_spec_int("cwlimit","cwlimit","cwlimit",
|
||||
G_MININT,G_MAXINT,0,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_ALLOW_DIFF_SHORT,
|
||||
g_param_spec_boolean("allow_diff_short","allow_diff_short","allow_diff_short",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_NO_SHORT_BLOCKS,
|
||||
g_param_spec_boolean("no_short_blocks","no_short_blocks","no_short_blocks",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_EMPHASIS,
|
||||
g_param_spec_boolean("emphasis","emphasis","emphasis",
|
||||
TRUE,G_PARAM_READWRITE)); /* CHECKME */
|
||||
g_param_spec_int ("vbr_hard_min", "VBR hard min", "Specify hard min bitrate",
|
||||
0, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LOWPASS_FREQ,
|
||||
g_param_spec_int ("lowpass_freq", "Lowpass freq",
|
||||
"frequency(kHz), lowpass filter cutoff above freq",
|
||||
0, 50000, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LOWPASS_WIDTH,
|
||||
g_param_spec_int ("lowpass_width", "Lowpass width",
|
||||
"frequency(kHz) - default 15% of lowpass freq",
|
||||
0, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HIGHPASS_FREQ,
|
||||
g_param_spec_int ("highpass_freq", "Highpass freq",
|
||||
"frequency(kHz), highpass filter cutoff below freq",
|
||||
0, 50000, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_HIGHPASS_WIDTH,
|
||||
g_param_spec_int ("highpass_width", "Highpass width",
|
||||
"frequency(kHz) - default 15% of highpass freq",
|
||||
0, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ATH_ONLY,
|
||||
g_param_spec_boolean ("ath_only", "ATH only",
|
||||
"Ignore GPSYCHO completely, use ATH only",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ATH_SHORT,
|
||||
g_param_spec_boolean ("ath_short", "ATH short",
|
||||
"Ignore GPSYCHO for short blocks, use ATH only",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NO_ATH,
|
||||
g_param_spec_boolean ("no_ath", "No ath", "turns ATH down to a flat noise floor",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ATH_LOWER,
|
||||
g_param_spec_int ("ath_lower", "ATH lower", "lowers ATH by x dB",
|
||||
G_MININT, G_MAXINT, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_CWLIMIT,
|
||||
g_param_spec_int ("cwlimit", "Cwlimit", "Compute tonality up to freq (in kHz) default 8.8717",
|
||||
0, 50000, 0, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ALLOW_DIFF_SHORT,
|
||||
g_param_spec_boolean ("allow_diff_short", "Allow diff short", "Allow diff short",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_NO_SHORT_BLOCKS,
|
||||
g_param_spec_boolean ("no_short_blocks", "No short blocks", "Do not use short blocks",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_EMPHASIS,
|
||||
g_param_spec_boolean ("emphasis", "Emphasis", "Emphasis",
|
||||
TRUE, G_PARAM_READWRITE));
|
||||
|
||||
gobject_class->set_property = gst_lame_set_property;
|
||||
gobject_class->get_property = gst_lame_get_property;
|
||||
|
@ -341,42 +333,22 @@ gst_lame_sinkconnect (GstPad *pad, GstCaps *caps)
|
|||
|
||||
lame = GST_LAME (gst_pad_get_parent (pad));
|
||||
|
||||
if (!GST_CAPS_IS_FIXED (caps))
|
||||
{
|
||||
if (!GST_CAPS_IS_FIXED (caps)) {
|
||||
GST_DEBUG (GST_CAT_CAPS, "caps on lame pad %s:%s not fixed, delayed",
|
||||
GST_DEBUG_PAD_NAME (pad));
|
||||
return GST_PAD_CONNECT_DELAYED;
|
||||
}
|
||||
/*
|
||||
GST_INFO (GST_CAT_CAPS, "dumping supplied caps %p\n", caps);
|
||||
gst_caps_debug (caps);
|
||||
GST_INFO (GST_CAT_CAPS, "dumping caps of own pad %s:%s\n", GST_DEBUG_PAD_NAME (pad));
|
||||
*/
|
||||
gst_caps_debug (gst_pad_get_caps (pad), "original caps on sink pad");
|
||||
/* check if the supplied caps of the peer element are compatible with our own use gst_pad_get_caps because if caps aren't set yet we need the template */
|
||||
if (!gst_caps_is_always_compatible (caps, gst_pad_get_caps (pad)))
|
||||
{
|
||||
GST_DEBUG (GST_CAT_CAPS,
|
||||
"peer caps (%p) not compatible with caps of pad %s:%s!",
|
||||
caps, GST_DEBUG_PAD_NAME (pad));
|
||||
return GST_PAD_CONNECT_REFUSED;
|
||||
}
|
||||
|
||||
gst_caps_get_int (caps, "rate", &lame->samplerate);
|
||||
gst_caps_get_int (caps, "channels", &lame->num_channels);
|
||||
|
||||
if (gst_lame_setup (lame)) {
|
||||
lame->initialized = TRUE;
|
||||
}
|
||||
else {
|
||||
lame->initialized = FALSE;
|
||||
if (!gst_lame_setup (lame)) {
|
||||
gst_element_error (GST_ELEMENT (lame),
|
||||
"could not initialize encoder (wrong parameters?)");
|
||||
return GST_PAD_CONNECT_REFUSED;
|
||||
}
|
||||
if (lame->initialized)
|
||||
return GST_PAD_CONNECT_OK;
|
||||
|
||||
return GST_PAD_CONNECT_REFUSED;
|
||||
return GST_PAD_CONNECT_OK;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -523,9 +495,6 @@ gst_lame_set_property (GObject *object, guint prop_id, const GValue *value, GPar
|
|||
case ARG_NO_ATH:
|
||||
lame->no_ath = g_value_get_boolean (value);
|
||||
break;
|
||||
/* case ARG_ATH_TYPE:
|
||||
* lame->ath_type = G_VALUE_INT (*arg);
|
||||
* break; */
|
||||
case ARG_ATH_LOWER:
|
||||
lame->ath_lower = g_value_get_int (value);
|
||||
break;
|
||||
|
@ -633,9 +602,6 @@ gst_lame_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec
|
|||
case ARG_NO_ATH:
|
||||
g_value_set_boolean (value, lame->no_ath);
|
||||
break;
|
||||
/* case ARG_ATH_TYPE:
|
||||
* G_VALUE_INT (*arg) = lame->ath_type;
|
||||
* break; */
|
||||
case ARG_ATH_LOWER:
|
||||
g_value_set_int (value, lame->ath_lower);
|
||||
break;
|
||||
|
@ -711,7 +677,10 @@ gst_lame_chain (GstPad *pad, GstBuffer *buf)
|
|||
mp3_data, mp3_buffer_size);
|
||||
}
|
||||
|
||||
GST_DEBUG (GST_CAT_PLUGIN_INFO, "encoded %d bytes of audio to %d bytes of mp3", GST_BUFFER_SIZE (buf), mp3_size);
|
||||
GST_DEBUG (GST_CAT_PLUGIN_INFO,
|
||||
"encoded %d bytes of audio to %d bytes of mp3",
|
||||
GST_BUFFER_SIZE (buf), mp3_size);
|
||||
|
||||
gst_buffer_unref (buf);
|
||||
}
|
||||
|
||||
|
@ -776,7 +745,6 @@ gst_lame_setup (GstLame *lame)
|
|||
lame_set_ATHonly (lame->lgf, lame->ath_only);
|
||||
lame_set_ATHshort (lame->lgf, lame->ath_short);
|
||||
lame_set_noATH (lame->lgf, lame->no_ath);
|
||||
/* lame_set_ATHtype (lame->lgf, lame->ath_type); */
|
||||
lame_set_ATHlower (lame->lgf, lame->ath_lower);
|
||||
lame_set_cwlimit (lame->lgf, lame->cwlimit);
|
||||
lame_set_allow_diff_short (lame->lgf, lame->allow_diff_short);
|
||||
|
@ -785,8 +753,6 @@ gst_lame_setup (GstLame *lame)
|
|||
|
||||
/* initialize the lame encoder */
|
||||
if (lame_init_params (lame->lgf) < 0) {
|
||||
gst_element_error (GST_ELEMENT (lame),
|
||||
"could not initialize encoder (wrong parameters?)");
|
||||
lame->initialized = FALSE;
|
||||
}
|
||||
else {
|
||||
|
@ -799,7 +765,7 @@ gst_lame_setup (GstLame *lame)
|
|||
|
||||
GST_DEBUG_LEAVE ("");
|
||||
|
||||
return TRUE;
|
||||
return lame->initialized;
|
||||
}
|
||||
|
||||
static GstElementStateReturn
|
||||
|
|
Loading…
Reference in a new issue