mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-28 18:18:38 +00:00
gst/volume/gstvolume.c: Proxy getcaps.
Original commit message from CVS: * gst/volume/gstvolume.c: (volume_init): Proxy getcaps. * sys/oss/gstosssink.c: (gst_osssink_init), (gst_osssink_sink_fixate): Add fixate function.
This commit is contained in:
parent
9de4db6540
commit
d88e52a37b
2 changed files with 32 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2003-12-23 David Schleef <ds@schleef.org>
|
||||||
|
|
||||||
|
* gst/volume/gstvolume.c: (volume_init): Proxy getcaps.
|
||||||
|
* sys/oss/gstosssink.c: (gst_osssink_init),
|
||||||
|
(gst_osssink_sink_fixate): Add fixate function.
|
||||||
|
|
||||||
2003-12-24 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
2003-12-24 Ronald Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* ext/ffmpeg/gstffmpegcodecmap.c:
|
* ext/ffmpeg/gstffmpegcodecmap.c:
|
||||||
|
|
|
@ -58,6 +58,7 @@ static gboolean gst_osssink_query (GstElement *element, GstQueryType type,
|
||||||
static gboolean gst_osssink_sink_query (GstPad *pad, GstQueryType type,
|
static gboolean gst_osssink_sink_query (GstPad *pad, GstQueryType type,
|
||||||
GstFormat *format, gint64 *value);
|
GstFormat *format, gint64 *value);
|
||||||
|
|
||||||
|
static GstCaps * gst_osssink_sink_fixate (GstPad *pad, const GstCaps *caps, gpointer user_data);
|
||||||
static GstPadLinkReturn gst_osssink_sinkconnect (GstPad *pad, const GstCaps *caps);
|
static GstPadLinkReturn gst_osssink_sinkconnect (GstPad *pad, const GstCaps *caps);
|
||||||
|
|
||||||
static void gst_osssink_set_property (GObject *object, guint prop_id, const GValue *value,
|
static void gst_osssink_set_property (GObject *object, guint prop_id, const GValue *value,
|
||||||
|
@ -193,6 +194,7 @@ gst_osssink_init (GstOssSink *osssink)
|
||||||
gst_static_pad_template_get (&osssink_sink_factory), "sink");
|
gst_static_pad_template_get (&osssink_sink_factory), "sink");
|
||||||
gst_element_add_pad (GST_ELEMENT (osssink), osssink->sinkpad);
|
gst_element_add_pad (GST_ELEMENT (osssink), osssink->sinkpad);
|
||||||
gst_pad_set_link_function (osssink->sinkpad, gst_osssink_sinkconnect);
|
gst_pad_set_link_function (osssink->sinkpad, gst_osssink_sinkconnect);
|
||||||
|
gst_pad_set_fixate_function (osssink->sinkpad, gst_osssink_sink_fixate);
|
||||||
gst_pad_set_convert_function (osssink->sinkpad, gst_osssink_convert);
|
gst_pad_set_convert_function (osssink->sinkpad, gst_osssink_convert);
|
||||||
gst_pad_set_query_function (osssink->sinkpad, gst_osssink_sink_query);
|
gst_pad_set_query_function (osssink->sinkpad, gst_osssink_sink_query);
|
||||||
gst_pad_set_query_type_function (osssink->sinkpad, gst_osssink_get_query_types);
|
gst_pad_set_query_type_function (osssink->sinkpad, gst_osssink_get_query_types);
|
||||||
|
@ -213,6 +215,30 @@ gst_osssink_init (GstOssSink *osssink)
|
||||||
GST_FLAG_SET (osssink, GST_ELEMENT_EVENT_AWARE);
|
GST_FLAG_SET (osssink, GST_ELEMENT_EVENT_AWARE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GstCaps *
|
||||||
|
gst_osssink_sink_fixate (GstPad *pad, const GstCaps *caps, gpointer user_data)
|
||||||
|
{
|
||||||
|
GstCaps *newcaps;
|
||||||
|
GstStructure *structure;
|
||||||
|
|
||||||
|
structure = gst_structure_copy(gst_caps_get_structure (caps, 0));
|
||||||
|
newcaps = gst_caps_new_full (structure, NULL);
|
||||||
|
|
||||||
|
if (gst_caps_structure_fixate_field_nearest_int (structure, "rate", 44100)) {
|
||||||
|
return newcaps;
|
||||||
|
}
|
||||||
|
if (gst_caps_structure_fixate_field_nearest_int (structure, "depth", 16)) {
|
||||||
|
return newcaps;
|
||||||
|
}
|
||||||
|
if (gst_caps_structure_fixate_field_nearest_int (structure, "width", 16)) {
|
||||||
|
return newcaps;
|
||||||
|
}
|
||||||
|
if (gst_caps_structure_fixate_field_nearest_int (structure, "channels", 2)) {
|
||||||
|
return newcaps;
|
||||||
|
}
|
||||||
|
|
||||||
|
return newcaps;
|
||||||
|
}
|
||||||
|
|
||||||
static GstPadLinkReturn
|
static GstPadLinkReturn
|
||||||
gst_osssink_sinkconnect (GstPad *pad, const GstCaps *caps)
|
gst_osssink_sinkconnect (GstPad *pad, const GstCaps *caps)
|
||||||
|
|
Loading…
Reference in a new issue