mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-19 20:46:22 +00:00
Simplified the FOURCC API to the caps, add a GST_MAKE_FOURCC macro to create a fourcc.
Original commit message from CVS: Simplified the FOURCC API to the caps, add a GST_MAKE_FOURCC macro to create a fourcc. Adjusted the plugins to use the new FOURCC API
This commit is contained in:
parent
54347a618b
commit
04813b163b
3 changed files with 15 additions and 4 deletions
|
@ -13,7 +13,7 @@ void eos(GstElement *element)
|
||||||
|
|
||||||
int main(int argc,char *argv[])
|
int main(int argc,char *argv[])
|
||||||
{
|
{
|
||||||
GstElement *bin, *disksrc, *parse, *decoder, *osssink;
|
GstElement *bin, *disksrc, *parse, *decoder, *downmix, *osssink;
|
||||||
|
|
||||||
gst_init(&argc,&argv);
|
gst_init(&argc,&argv);
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ int main(int argc,char *argv[])
|
||||||
/* now it's time to get the parser */
|
/* now it's time to get the parser */
|
||||||
parse = gst_elementfactory_make("mp3parse","parse");
|
parse = gst_elementfactory_make("mp3parse","parse");
|
||||||
decoder = gst_elementfactory_make("mpg123","decoder");
|
decoder = gst_elementfactory_make("mpg123","decoder");
|
||||||
|
downmix = gst_elementfactory_make("stereo2mono","stereo2mono");
|
||||||
/* and an audio sink */
|
/* and an audio sink */
|
||||||
osssink = gst_elementfactory_make("osssink", "play_audio");
|
osssink = gst_elementfactory_make("osssink", "play_audio");
|
||||||
|
|
||||||
|
@ -41,6 +42,7 @@ int main(int argc,char *argv[])
|
||||||
gst_bin_add(GST_BIN(bin), disksrc);
|
gst_bin_add(GST_BIN(bin), disksrc);
|
||||||
gst_bin_add(GST_BIN(bin), parse);
|
gst_bin_add(GST_BIN(bin), parse);
|
||||||
gst_bin_add(GST_BIN(bin), decoder);
|
gst_bin_add(GST_BIN(bin), decoder);
|
||||||
|
gst_bin_add(GST_BIN(bin), downmix);
|
||||||
gst_bin_add(GST_BIN(bin), osssink);
|
gst_bin_add(GST_BIN(bin), osssink);
|
||||||
|
|
||||||
/* connect src to sink */
|
/* connect src to sink */
|
||||||
|
@ -49,6 +51,8 @@ int main(int argc,char *argv[])
|
||||||
gst_pad_connect(gst_element_get_pad(parse,"src"),
|
gst_pad_connect(gst_element_get_pad(parse,"src"),
|
||||||
gst_element_get_pad(decoder,"sink"));
|
gst_element_get_pad(decoder,"sink"));
|
||||||
gst_pad_connect(gst_element_get_pad(decoder,"src"),
|
gst_pad_connect(gst_element_get_pad(decoder,"src"),
|
||||||
|
gst_element_get_pad(downmix,"sink"));
|
||||||
|
gst_pad_connect(gst_element_get_pad(downmix,"src"),
|
||||||
gst_element_get_pad(osssink,"sink"));
|
gst_element_get_pad(osssink,"sink"));
|
||||||
|
|
||||||
/* start playing */
|
/* start playing */
|
||||||
|
@ -66,6 +70,7 @@ int main(int argc,char *argv[])
|
||||||
gst_object_destroy(GST_OBJECT(osssink));
|
gst_object_destroy(GST_OBJECT(osssink));
|
||||||
gst_object_destroy(GST_OBJECT(parse));
|
gst_object_destroy(GST_OBJECT(parse));
|
||||||
gst_object_destroy(GST_OBJECT(decoder));
|
gst_object_destroy(GST_OBJECT(decoder));
|
||||||
|
gst_object_destroy(GST_OBJECT(downmix));
|
||||||
gst_object_destroy(GST_OBJECT(disksrc));
|
gst_object_destroy(GST_OBJECT(disksrc));
|
||||||
gst_object_destroy(GST_OBJECT(bin));
|
gst_object_destroy(GST_OBJECT(bin));
|
||||||
|
|
||||||
|
|
|
@ -60,11 +60,12 @@ typedef enum {
|
||||||
#define GST_PROPS_STRING_ID GINT_TO_POINTER(GST_PROPS_STRING_ID_NUM)
|
#define GST_PROPS_STRING_ID GINT_TO_POINTER(GST_PROPS_STRING_ID_NUM)
|
||||||
#define GST_PROPS_LAST_ID GINT_TO_POINTER(GST_PROPS_LAST_ID_NUM)
|
#define GST_PROPS_LAST_ID GINT_TO_POINTER(GST_PROPS_LAST_ID_NUM)
|
||||||
|
|
||||||
|
#define GST_MAKE_FOURCC(a,b,c,d) ((a)|(b)<<8|(c)<<16|(d)<<24)
|
||||||
|
|
||||||
#define GST_PROPS_LIST(a...) GST_PROPS_LIST_ID,##a,NULL
|
#define GST_PROPS_LIST(a...) GST_PROPS_LIST_ID,##a,NULL
|
||||||
#define GST_PROPS_INT(a) GST_PROPS_INT_ID,(GINT_TO_POINTER(a))
|
#define GST_PROPS_INT(a) GST_PROPS_INT_ID,(GINT_TO_POINTER(a))
|
||||||
#define GST_PROPS_INT_RANGE(a,b) GST_PROPS_INT_RANGE_ID,(GINT_TO_POINTER(a)),(GINT_TO_POINTER(b))
|
#define GST_PROPS_INT_RANGE(a,b) GST_PROPS_INT_RANGE_ID,(GINT_TO_POINTER(a)),(GINT_TO_POINTER(b))
|
||||||
#define GST_PROPS_FOURCC(a,b,c,d) GST_PROPS_FOURCC_ID,(GINT_TO_POINTER((a)|(b)<<8|(c)<<16|(d)<<24))
|
#define GST_PROPS_FOURCC(a) GST_PROPS_FOURCC_ID,(GINT_TO_POINTER(a))
|
||||||
#define GST_PROPS_FOURCC_INT(a) GST_PROPS_FOURCC_ID,(GINT_TO_POINTER(a))
|
|
||||||
#define GST_PROPS_BOOLEAN(a) GST_PROPS_BOOL_ID,(GINT_TO_POINTER(a))
|
#define GST_PROPS_BOOLEAN(a) GST_PROPS_BOOL_ID,(GINT_TO_POINTER(a))
|
||||||
#define GST_PROPS_STRING(a) GST_PROPS_STRING_ID,(a)
|
#define GST_PROPS_STRING(a) GST_PROPS_STRING_ID,(a)
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ void eos(GstElement *element)
|
||||||
|
|
||||||
int main(int argc,char *argv[])
|
int main(int argc,char *argv[])
|
||||||
{
|
{
|
||||||
GstElement *bin, *disksrc, *parse, *decoder, *osssink;
|
GstElement *bin, *disksrc, *parse, *decoder, *downmix, *osssink;
|
||||||
|
|
||||||
gst_init(&argc,&argv);
|
gst_init(&argc,&argv);
|
||||||
|
|
||||||
|
@ -34,6 +34,7 @@ int main(int argc,char *argv[])
|
||||||
/* now it's time to get the parser */
|
/* now it's time to get the parser */
|
||||||
parse = gst_elementfactory_make("mp3parse","parse");
|
parse = gst_elementfactory_make("mp3parse","parse");
|
||||||
decoder = gst_elementfactory_make("mpg123","decoder");
|
decoder = gst_elementfactory_make("mpg123","decoder");
|
||||||
|
downmix = gst_elementfactory_make("stereo2mono","stereo2mono");
|
||||||
/* and an audio sink */
|
/* and an audio sink */
|
||||||
osssink = gst_elementfactory_make("osssink", "play_audio");
|
osssink = gst_elementfactory_make("osssink", "play_audio");
|
||||||
|
|
||||||
|
@ -41,6 +42,7 @@ int main(int argc,char *argv[])
|
||||||
gst_bin_add(GST_BIN(bin), disksrc);
|
gst_bin_add(GST_BIN(bin), disksrc);
|
||||||
gst_bin_add(GST_BIN(bin), parse);
|
gst_bin_add(GST_BIN(bin), parse);
|
||||||
gst_bin_add(GST_BIN(bin), decoder);
|
gst_bin_add(GST_BIN(bin), decoder);
|
||||||
|
gst_bin_add(GST_BIN(bin), downmix);
|
||||||
gst_bin_add(GST_BIN(bin), osssink);
|
gst_bin_add(GST_BIN(bin), osssink);
|
||||||
|
|
||||||
/* connect src to sink */
|
/* connect src to sink */
|
||||||
|
@ -49,6 +51,8 @@ int main(int argc,char *argv[])
|
||||||
gst_pad_connect(gst_element_get_pad(parse,"src"),
|
gst_pad_connect(gst_element_get_pad(parse,"src"),
|
||||||
gst_element_get_pad(decoder,"sink"));
|
gst_element_get_pad(decoder,"sink"));
|
||||||
gst_pad_connect(gst_element_get_pad(decoder,"src"),
|
gst_pad_connect(gst_element_get_pad(decoder,"src"),
|
||||||
|
gst_element_get_pad(downmix,"sink"));
|
||||||
|
gst_pad_connect(gst_element_get_pad(downmix,"src"),
|
||||||
gst_element_get_pad(osssink,"sink"));
|
gst_element_get_pad(osssink,"sink"));
|
||||||
|
|
||||||
/* start playing */
|
/* start playing */
|
||||||
|
@ -66,6 +70,7 @@ int main(int argc,char *argv[])
|
||||||
gst_object_destroy(GST_OBJECT(osssink));
|
gst_object_destroy(GST_OBJECT(osssink));
|
||||||
gst_object_destroy(GST_OBJECT(parse));
|
gst_object_destroy(GST_OBJECT(parse));
|
||||||
gst_object_destroy(GST_OBJECT(decoder));
|
gst_object_destroy(GST_OBJECT(decoder));
|
||||||
|
gst_object_destroy(GST_OBJECT(downmix));
|
||||||
gst_object_destroy(GST_OBJECT(disksrc));
|
gst_object_destroy(GST_OBJECT(disksrc));
|
||||||
gst_object_destroy(GST_OBJECT(bin));
|
gst_object_destroy(GST_OBJECT(bin));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue