2006-11-08 02:03:48 +00:00
|
|
|
/* GStreamer typefind element example
|
|
|
|
* Copyright (C) <2005> Stefan Kost
|
|
|
|
* Copyright (C) <2006> Tim-Philipp Müller
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Library General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Library General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Library General Public
|
|
|
|
* License along with this library; if not, write to the
|
2012-11-03 20:44:48 +00:00
|
|
|
* Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
|
|
|
|
* Boston, MA 02110-1301, USA.
|
2006-11-08 02:03:48 +00:00
|
|
|
*/
|
|
|
|
|
2000-08-18 20:38:54 +00:00
|
|
|
#include <gst/gst.h>
|
|
|
|
|
2010-06-25 23:18:10 +00:00
|
|
|
#include <stdlib.h>
|
|
|
|
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
static void
|
2006-11-08 02:03:48 +00:00
|
|
|
type_found (GstElement * typefind, guint probability, const GstCaps * caps,
|
|
|
|
gpointer user_data)
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
{
|
2006-11-08 02:03:48 +00:00
|
|
|
gchar *xml, *caps_str;
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
|
2006-11-08 02:03:48 +00:00
|
|
|
caps_str = gst_caps_to_string (caps);
|
|
|
|
xml = g_markup_printf_escaped ("<?xml version=\"1.0\"?>\n<Capabilities>\n"
|
|
|
|
" <Caps1>%s</Caps1>\n</Capabilities>", caps_str);
|
|
|
|
g_free (caps_str);
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
|
2006-11-08 02:03:48 +00:00
|
|
|
g_print ("%s\n", xml);
|
|
|
|
g_free (xml);
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
}
|
|
|
|
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
static void
|
|
|
|
event_loop (GstElement * pipe)
|
|
|
|
{
|
|
|
|
GstBus *bus;
|
|
|
|
GstMessage *message = NULL;
|
2010-07-09 12:58:50 +00:00
|
|
|
gboolean running = TRUE;
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
|
|
|
|
bus = gst_element_get_bus (GST_ELEMENT (pipe));
|
|
|
|
|
2010-07-09 12:58:50 +00:00
|
|
|
while (running) {
|
2005-10-15 13:58:18 +00:00
|
|
|
message = gst_bus_poll (bus, GST_MESSAGE_ANY, -1);
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
|
|
|
|
g_assert (message != NULL);
|
|
|
|
|
2005-10-15 13:58:18 +00:00
|
|
|
switch (message->type) {
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
case GST_MESSAGE_EOS:
|
2010-07-09 12:58:50 +00:00
|
|
|
running = FALSE;
|
|
|
|
break;
|
|
|
|
case GST_MESSAGE_WARNING:{
|
|
|
|
GError *gerror;
|
|
|
|
gchar *debug;
|
|
|
|
|
|
|
|
gst_message_parse_warning (message, &gerror, &debug);
|
|
|
|
gst_object_default_error (GST_MESSAGE_SRC (message), gerror, debug);
|
|
|
|
g_error_free (gerror);
|
|
|
|
g_free (debug);
|
|
|
|
break;
|
|
|
|
}
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
case GST_MESSAGE_ERROR:{
|
|
|
|
GError *gerror;
|
|
|
|
gchar *debug;
|
|
|
|
|
|
|
|
gst_message_parse_error (message, &gerror, &debug);
|
|
|
|
gst_object_default_error (GST_MESSAGE_SRC (message), gerror, debug);
|
|
|
|
g_error_free (gerror);
|
|
|
|
g_free (debug);
|
2010-07-09 12:58:50 +00:00
|
|
|
running = FALSE;
|
|
|
|
break;
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
}
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
2010-07-09 12:58:50 +00:00
|
|
|
gst_message_unref (message);
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
}
|
2010-07-09 12:58:50 +00:00
|
|
|
gst_object_unref (bus);
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
}
|
|
|
|
|
2004-03-13 15:27:01 +00:00
|
|
|
int
|
|
|
|
main (int argc, char *argv[])
|
2000-08-18 20:38:54 +00:00
|
|
|
{
|
2006-11-08 02:03:48 +00:00
|
|
|
GstElement *pipeline, *filesrc, *typefind, *sink;
|
2000-08-18 20:38:54 +00:00
|
|
|
|
2002-02-21 14:44:27 +00:00
|
|
|
gst_init (&argc, &argv);
|
2001-01-03 19:12:21 +00:00
|
|
|
|
2000-08-18 20:38:54 +00:00
|
|
|
if (argc != 2) {
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
g_print ("usage: %s <filename>\n", argv[0]);
|
2002-02-21 14:44:27 +00:00
|
|
|
exit (-1);
|
2000-08-18 20:38:54 +00:00
|
|
|
}
|
|
|
|
|
2006-11-08 02:03:48 +00:00
|
|
|
/* create a new pipeline to hold the elements */
|
|
|
|
pipeline = gst_pipeline_new ("pipeline");
|
|
|
|
g_assert (pipeline != NULL);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
/* create a file reader */
|
|
|
|
filesrc = gst_element_factory_make ("filesrc", "file_source");
|
|
|
|
g_assert (filesrc != NULL);
|
2002-02-21 14:44:27 +00:00
|
|
|
g_object_set (G_OBJECT (filesrc), "location", argv[1], NULL);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
typefind = gst_element_factory_make ("typefind", "typefind");
|
|
|
|
g_assert (typefind != NULL);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
2006-11-08 02:03:48 +00:00
|
|
|
sink = gst_element_factory_make ("fakesink", "sink");
|
|
|
|
g_assert (sink != NULL);
|
|
|
|
|
2000-08-18 20:38:54 +00:00
|
|
|
/* add objects to the main pipeline */
|
2006-11-08 02:03:48 +00:00
|
|
|
gst_bin_add (GST_BIN (pipeline), filesrc);
|
|
|
|
gst_bin_add (GST_BIN (pipeline), typefind);
|
|
|
|
gst_bin_add (GST_BIN (pipeline), sink);
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
|
2006-11-08 02:03:48 +00:00
|
|
|
g_signal_connect (G_OBJECT (typefind), "have-type",
|
applied some simple fixing to some examples re-enabled the working examples
Original commit message from CVS:
* configure.ac:
* docs/random/ensonic/media-device-daemon.txt:
* tests/examples/controller/.cvsignore:
* tests/examples/controller/Makefile.am:
* tests/examples/controller/audio-example.c: (main):
* tests/examples/helloworld/.cvsignore:
* tests/examples/helloworld/Makefile.am:
* tests/examples/helloworld/helloworld.c: (event_loop), (main):
* tests/examples/launch/.cvsignore:
* tests/examples/launch/Makefile.am:
* tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
* tests/examples/metadata/.cvsignore:
* tests/examples/metadata/Makefile.am:
* tests/examples/metadata/read-metadata.c: (message_loop),
(make_pipeline), (print_tag), (main):
* tests/examples/queue/.cvsignore:
* tests/examples/queue/Makefile.am:
* tests/examples/queue/queue.c: (event_loop), (main):
* tests/examples/typefind/.cvsignore:
* tests/examples/typefind/Makefile.am:
* tests/examples/typefind/typefind.c: (type_found), (event_loop),
(main):
* tests/examples/xml/.cvsignore:
* tests/examples/xml/Makefile.am:
* tests/examples/xml/createxml.c: (object_saved), (main):
* tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
* tests/old/examples/Makefile.am:
* tests/old/examples/TODO:
* tests/old/examples/controller/.cvsignore:
* tests/old/examples/controller/Makefile.am:
* tests/old/examples/controller/audio-example.c:
* tests/old/examples/helloworld/.cvsignore:
* tests/old/examples/helloworld/Makefile.am:
* tests/old/examples/helloworld/helloworld.c:
* tests/old/examples/launch/.cvsignore:
* tests/old/examples/launch/Makefile.am:
* tests/old/examples/launch/mp3parselaunch.c:
* tests/old/examples/launch/mp3play:
* tests/old/examples/manual/Makefile.am:
* tests/old/examples/metadata/Makefile.am:
* tests/old/examples/metadata/read-metadata.c:
* tests/old/examples/queue/.cvsignore:
* tests/old/examples/queue/Makefile.am:
* tests/old/examples/queue/queue.c:
* tests/old/examples/typefind/.cvsignore:
* tests/old/examples/typefind/Makefile.am:
* tests/old/examples/typefind/typefind.c:
* tests/old/examples/xml/.cvsignore:
* tests/old/examples/xml/Makefile.am:
* tests/old/examples/xml/createxml.c:
* tests/old/examples/xml/runxml.c:
applied some simple fixing to some examples
re-enabled the working examples
2005-12-12 14:02:18 +00:00
|
|
|
G_CALLBACK (type_found), NULL);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
2006-11-08 02:03:48 +00:00
|
|
|
gst_element_link_many (filesrc, typefind, sink, NULL);
|
2004-03-13 15:27:01 +00:00
|
|
|
|
2000-08-18 20:38:54 +00:00
|
|
|
/* start playing */
|
2006-11-08 02:03:48 +00:00
|
|
|
gst_element_set_state (pipeline, GST_STATE_PLAYING);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
examples/: Update a couple of the examples to work again.
Original commit message from CVS:
* examples/Makefile.am:
* examples/helloworld/helloworld.c: (event_loop), (main):
* examples/queue/queue.c: (event_loop), (main):
* examples/queue2/queue2.c: (main):
Update a couple of the examples to work again.
* gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
(gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
Spelling corrections and extra debug.
* gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
(gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
(gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
* gst/gstbin.h:
* gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
(gst_pipeline_change_state):
* gst/gstpipeline.h:
Move the bus handler for children to the GstBin, and create a
separate bus for receiving messages from children to the one the
bus sends 'upwards' on.
2005-07-06 16:22:47 +00:00
|
|
|
/* Run event loop listening for bus messages until EOS or ERROR */
|
2006-11-08 02:03:48 +00:00
|
|
|
event_loop (pipeline);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
|
|
|
/* stop the bin */
|
2006-11-08 02:03:48 +00:00
|
|
|
gst_element_set_state (pipeline, GST_STATE_NULL);
|
|
|
|
gst_object_unref (pipeline);
|
2000-08-18 20:38:54 +00:00
|
|
|
|
2002-02-21 14:44:27 +00:00
|
|
|
exit (0);
|
2000-08-18 20:38:54 +00:00
|
|
|
}
|