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:
Wim Taymans 2001-03-30 23:56:07 +00:00
parent 54347a618b
commit 04813b163b
3 changed files with 15 additions and 4 deletions

View file

@ -13,7 +13,7 @@ void eos(GstElement *element)
int main(int argc,char *argv[])
{
GstElement *bin, *disksrc, *parse, *decoder, *osssink;
GstElement *bin, *disksrc, *parse, *decoder, *downmix, *osssink;
gst_init(&argc,&argv);
@ -34,6 +34,7 @@ int main(int argc,char *argv[])
/* now it's time to get the parser */
parse = gst_elementfactory_make("mp3parse","parse");
decoder = gst_elementfactory_make("mpg123","decoder");
downmix = gst_elementfactory_make("stereo2mono","stereo2mono");
/* and an audio sink */
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), parse);
gst_bin_add(GST_BIN(bin), decoder);
gst_bin_add(GST_BIN(bin), downmix);
gst_bin_add(GST_BIN(bin), osssink);
/* connect src to sink */
@ -49,6 +51,8 @@ int main(int argc,char *argv[])
gst_pad_connect(gst_element_get_pad(parse,"src"),
gst_element_get_pad(decoder,"sink"));
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"));
/* start playing */
@ -66,6 +70,7 @@ int main(int argc,char *argv[])
gst_object_destroy(GST_OBJECT(osssink));
gst_object_destroy(GST_OBJECT(parse));
gst_object_destroy(GST_OBJECT(decoder));
gst_object_destroy(GST_OBJECT(downmix));
gst_object_destroy(GST_OBJECT(disksrc));
gst_object_destroy(GST_OBJECT(bin));

View file

@ -60,11 +60,12 @@ typedef enum {
#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_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_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_FOURCC(a,b,c,d) GST_PROPS_FOURCC_ID,(GINT_TO_POINTER((a)|(b)<<8|(c)<<16|(d)<<24))
#define GST_PROPS_FOURCC_INT(a) GST_PROPS_FOURCC_ID,(GINT_TO_POINTER(a))
#define GST_PROPS_FOURCC(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_STRING(a) GST_PROPS_STRING_ID,(a)

View file

@ -13,7 +13,7 @@ void eos(GstElement *element)
int main(int argc,char *argv[])
{
GstElement *bin, *disksrc, *parse, *decoder, *osssink;
GstElement *bin, *disksrc, *parse, *decoder, *downmix, *osssink;
gst_init(&argc,&argv);
@ -34,6 +34,7 @@ int main(int argc,char *argv[])
/* now it's time to get the parser */
parse = gst_elementfactory_make("mp3parse","parse");
decoder = gst_elementfactory_make("mpg123","decoder");
downmix = gst_elementfactory_make("stereo2mono","stereo2mono");
/* and an audio sink */
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), parse);
gst_bin_add(GST_BIN(bin), decoder);
gst_bin_add(GST_BIN(bin), downmix);
gst_bin_add(GST_BIN(bin), osssink);
/* connect src to sink */
@ -49,6 +51,8 @@ int main(int argc,char *argv[])
gst_pad_connect(gst_element_get_pad(parse,"src"),
gst_element_get_pad(decoder,"sink"));
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"));
/* start playing */
@ -66,6 +70,7 @@ int main(int argc,char *argv[])
gst_object_destroy(GST_OBJECT(osssink));
gst_object_destroy(GST_OBJECT(parse));
gst_object_destroy(GST_OBJECT(decoder));
gst_object_destroy(GST_OBJECT(downmix));
gst_object_destroy(GST_OBJECT(disksrc));
gst_object_destroy(GST_OBJECT(bin));