From: Thomas V. S. <tho...@us...> - 2002-02-19 18:28:10
|
CVS Root: /cvsroot/gstreamer Module: gst-plugins Changes by: thomasvs Date: Tue Feb 19 2002 10:28:08 PST Log message: adding a test for lame stuff Modified files: ext/lame : Makefile.am Added files: ext/lame : test-lame.c Links: http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/lame/Makefile.am.diff?r1=1.3&r2=1.4 http://cvs.sf.net/cgi-bin/viewcvs.cgi/gstreamer/gst-plugins/ext/lame/test-lame.c?rev=1.1&content-type=text/vnd.viewcvs-markup ====Begin Diffs==== Index: Makefile.am =================================================================== RCS file: /cvsroot/gstreamer/gst-plugins/ext/lame/Makefile.am,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- Makefile.am 18 Jan 2002 02:05:24 -0000 1.3 +++ Makefile.am 19 Feb 2002 18:28:05 -0000 1.4 @@ -8,3 +8,10 @@ libgstlame_la_LDFLAGS = @GST_PLUGIN_LDFLAGS@ noinst_HEADERS = gstlame.h + +CFLAGS = $(GST_CFLAGS) +LIBS = $(GST_LIBS) $(LAME_LIBS) +testprogs = test-lame +TESTS = $(testprogs) +check_PROGRAMS = $(testprogs) + --- NEW FILE: test-lame.c --- #include <gst/gst.h> /* * this example uses tee, fakesrc, fakesink and lame * * it requests a new pad from tee and attaches lame and fakesink * after iterating * it requests another one * this is to test if the encoder is initialized ok when adding to a * pipe that has played */ static void error_callback (GObject *object, GstObject *orig, gchar *error) { g_print ("ERROR: %s: %s\n", GST_OBJECT_NAME (orig), error); } int main (int argc, char *argv[]) { GstElement *pipeline; GstElement *src, *tee, *encoder1, *encoder2, *sink1, *sink2; GstPad *teepad1, *teepad2; GstCaps *caps; gst_init (&argc, &argv); /* create elements */ if (!(pipeline = gst_elementfactory_make ("pipeline", "pipeline"))) return 1; if (!(src = gst_elementfactory_make ("fakesrc", "source"))) return 1; if (!(tee = gst_elementfactory_make ("tee", "tee"))) return 1; if (!(encoder1 = gst_elementfactory_make ("lame", "lame1"))) return 1; if (!(encoder2 = gst_elementfactory_make ("lame", "lame2"))) return 1; if (!(sink1 = gst_elementfactory_make ("fakesink", "sink1"))) return 1; if (!(sink2 = gst_elementfactory_make ("fakesink", "sink2"))) return 1; pipeline = gst_pipeline_new ("pipeline"); g_signal_connect (pipeline, "error", G_CALLBACK (error_callback), NULL); /* set up input */ g_print ("setting up input\n"); gst_bin_add (GST_BIN (pipeline), src); gst_bin_add (GST_BIN (pipeline), tee); gst_pad_connect (gst_element_get_pad (src, "src"), gst_element_get_pad (tee, "sink")); /* set caps on fakesrc */ caps = GST_CAPS_NEW ( "input audio", "audio/raw", "format", GST_PROPS_STRING ("int"), "rate", GST_PROPS_INT (44100) ); g_assert (caps != NULL); g_print ("Setting caps on fakesrc's src pad\n"); if (! (gst_pad_try_set_caps (gst_element_get_pad (src, "src"), caps))) g_print ("Could not set caps !\n"); /* request first pad from tee and connect */ g_print ("attaching first output pipe to tee\n"); teepad1 = gst_element_request_pad_by_name (tee, "src%d"); gst_bin_add (GST_BIN (pipeline), encoder1); gst_bin_add (GST_BIN (pipeline), sink1); gst_pad_connect (teepad1, gst_element_get_pad (encoder1, "sink")); gst_pad_connect (gst_element_get_pad (encoder1, "src"), gst_element_get_pad (sink1, "sink")); gst_element_set_state (pipeline, GST_STATE_PLAYING); /* iterate */ g_print ("iterate\n"); gst_bin_iterate (GST_BIN (pipeline)); gst_element_set_state (pipeline, GST_STATE_PAUSED); /* request second pad and connect */ g_print ("attaching second output pipe to tee\n"); teepad2 = gst_element_request_pad_by_name (tee, "src%d"); gst_bin_add (GST_BIN (pipeline), encoder2); gst_bin_add (GST_BIN (pipeline), sink2); gst_pad_connect (teepad2, gst_element_get_pad (encoder2, "sink")); gst_pad_connect (gst_element_get_pad (encoder2, "src"), gst_element_get_pad (sink2, "sink")); gst_element_set_state (pipeline, GST_STATE_PLAYING); g_print ("iterate\n"); gst_bin_iterate (GST_BIN (pipeline)); g_print ("done\n"); return 0; } |