int main(int argc,char *argv[])
{
- GstElement *bin, *disksrc, *parse, *decoder, *osssink;
+ GstElement *bin, *disksrc, *parse, *decoder, *downmix, *osssink;
gst_init(&argc,&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");
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 */
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 */
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));
#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)
int main(int argc,char *argv[])
{
- GstElement *bin, *disksrc, *parse, *decoder, *osssink;
+ GstElement *bin, *disksrc, *parse, *decoder, *downmix, *osssink;
gst_init(&argc,&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");
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 */
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 */
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));