[maemo-commits] [maemo-commits] r17836 - projects/haf/trunk/hildon-welcome/src
From: subversion at stage.maemo.org subversion at stage.maemo.orgDate: Fri Mar 27 14:30:37 EET 2009
- Previous message: [maemo-commits] r17835 - in projects/haf/trunk/clutter0.8: clutter/eglx debian
- Next message: [maemo-commits] r17837 - in projects/haf/trunk/libmatchbox2: . matchbox/comp-mgr
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: schulhof Date: 2009-03-27 14:30:29 +0200 (Fri, 27 Mar 2009) New Revision: 17836 Modified: projects/haf/trunk/hildon-welcome/src/tmp.c Log: Modified: projects/haf/trunk/hildon-welcome/src/tmp.c =================================================================== --- projects/haf/trunk/hildon-welcome/src/tmp.c 2009-03-27 12:29:01 UTC (rev 17835) +++ projects/haf/trunk/hildon-welcome/src/tmp.c 2009-03-27 12:30:29 UTC (rev 17836) @@ -42,24 +42,25 @@ } static void -do_everything(GstElement *pipeline, int argc, char **argv, GstElement *audiosink) +play_file(GstElement *pipeline, char *filename, GstElement *audiosink) { GstBus *bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline)); + g_print("play_file: Entering with \"%s\"\n", filename); + if (bus) { gboolean keep_looping = TRUE; - static int current_logo = 1; GstMessage *msg = NULL; GstElement *new_bin = NULL; - new_bin = create_bin(argv[current_logo++], audiosink); + new_bin = create_bin(filename, audiosink); gst_bin_add(GST_BIN(pipeline), new_bin); gst_element_set_state(pipeline, GST_STATE_PAUSED); gst_element_send_event(pipeline, gst_event_new_seek(1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_SEGMENT, GST_SEEK_TYPE_SET, G_GUINT64_CONSTANT(0), GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)); gst_element_set_state(pipeline, GST_STATE_PLAYING); - g_print("do_everything: Entering loop\n"); + g_print("play_file: Entering loop\n"); while (keep_looping) { msg = gst_bus_poll(bus, GST_MESSAGE_ANY, -1); @@ -74,75 +75,22 @@ gst_message_parse_error(msg, &err, &debug); if (err) { - g_print("do_everything: error: %s, debug: %s\n", err->message ? err->message : "?", debug ? debug : "?"); + g_print("play_file: error: %s, debug: %s\n", err->message ? err->message : "?", debug ? debug : "?"); g_error_free(err); err = NULL; } g_free(debug); debug = NULL;; } - break; - - case GST_MESSAGE_EOS: - g_print("do_everything: EOS\n"); - break; - - case GST_MESSAGE_SEGMENT_START: - g_print("do_everything: SEGMENT_START\n"); - break; - + /* fall through */ case GST_MESSAGE_SEGMENT_DONE: - g_print("do_everything: SEGMENT_DONE\n"); + g_print("play_file: SEGMENT_DONE\n"); gst_element_set_locked_state(new_bin, TRUE); gst_element_set_state(new_bin, GST_STATE_NULL); gst_bin_remove(GST_BIN(pipeline), new_bin); - - if (current_logo == argc) - keep_looping = FALSE; - else { - new_bin = create_bin(argv[current_logo++], audiosink); - gst_bin_add(GST_BIN(pipeline), new_bin); - gst_element_set_state(pipeline, GST_STATE_PAUSED); - gst_element_send_event(pipeline, - gst_event_new_seek(1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_SEGMENT, GST_SEEK_TYPE_SET, G_GUINT64_CONSTANT(0), GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)); - gst_element_set_state(pipeline, GST_STATE_PLAYING); - } + keep_looping = FALSE; break; - case GST_MESSAGE_STATE_CHANGED: - if (GST_MESSAGE_SRC(msg) == GST_OBJECT(pipeline)) { - GstState oldstate, newstate, pending; - gst_message_parse_state_changed(msg, &oldstate, &newstate, &pending); - g_print("do_everything: STATE_CHANGED for %s: old = %s, new = %s, pending = %s\n", - gst_element_get_name(GST_MESSAGE_SRC(msg)), - GST_STATE_NAME(oldstate), - GST_STATE_NAME(newstate), - GST_STATE_NAME(pending)); - } - break; -#if (0) - if (GST_MESSAGE_SRC(msg) == GST_OBJECT(pipeline)) { - GstState oldstate, newstate, pending; - gst_message_parse_state_changed(msg, &oldstate, &newstate, &pending); - if (GST_STATE_PLAYING == oldstate && GST_STATE_PAUSED == newstate) { - gst_element_set_locked_state(new_bin, TRUE); - gst_element_set_state(new_bin, GST_STATE_NULL); - gst_bin_remove(GST_BIN(pipeline), new_bin); - - if (current_logo == argc) - keep_looping = FALSE; - else { - new_bin = create_bin(argv[current_logo++], audiosink); - gst_bin_add(GST_BIN(pipeline), new_bin); - gst_element_send_event(pipeline, - gst_event_new_seek(1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH|GST_SEEK_FLAG_SEGMENT, GST_SEEK_TYPE_SET, G_GUINT64_CONSTANT(0), GST_SEEK_TYPE_NONE, GST_CLOCK_TIME_NONE)); - gst_element_set_state(pipeline, GST_STATE_PLAYING); - } - } - } -#endif /* (0) */ - break; - default: break; } @@ -150,11 +98,14 @@ gst_message_unref(msg); } } + + g_print("play_file: === Exiting with \"%s\"\n", filename); } int main(int argc, char **argv) { + int Nix; GstElement *pipeline = NULL, *audiosink; gst_init(&argc, &argv); @@ -162,7 +113,8 @@ if ((pipeline = gst_pipeline_new("sequence-player"))) { audiosink = gst_element_factory_make("autoaudiosink", "the-audio-sink"); gst_bin_add(GST_BIN(pipeline), audiosink); - do_everything(pipeline, argc, argv, audiosink); + for (Nix = 1 ; Nix < argc ; Nix++) + play_file(pipeline, argv[Nix], audiosink); gst_element_set_state(pipeline, GST_STATE_NULL); gst_object_unref(pipeline); }
- Previous message: [maemo-commits] r17835 - in projects/haf/trunk/clutter0.8: clutter/eglx debian
- Next message: [maemo-commits] r17837 - in projects/haf/trunk/libmatchbox2: . matchbox/comp-mgr
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]