Custom Bin
Sneha Murganoor
sneha.nie at gmail.com
Tue Apr 7 21:39:16 PDT 2015
Hi Sergio,
how to move to gstreamer-1.0? Is there a specific sdk for Gstreamer-1.0?
Right now .. i have followed steps in
http://docs.gstreamer.com/display/GstSDK/Installing+on+Linux
I tried compiling against gstreamer 1.0.. I didnt work.
gcc gstinit.c -o gstinit `pkg-config --cflags --libs gstreamer-1.0`
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/
libgstreamer-1.0.so: undefined reference to
`g_type_class_adjust_private_offset'
collect2: error: ld returned 1 exit status
Thanks,
Sneha
On Tue, Apr 7, 2015 at 5:12 PM, <
gstreamer-devel-request at lists.freedesktop.org> wrote:
> Send gstreamer-devel mailing list submissions to
> gstreamer-devel at lists.freedesktop.org
>
> To subscribe or unsubscribe via the World Wide Web, visit
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> or, via email, send a message with subject or body 'help' to
> gstreamer-devel-request at lists.freedesktop.org
>
> You can reach the person managing the list at
> gstreamer-devel-owner at lists.freedesktop.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of gstreamer-devel digest..."
>
>
> Today's Topics:
>
> 1. Re: Custom Bin (Sérgio Agostinho)
> 2. Re: Calculate timestamp in handoff callback (Mayank Agarwal)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Tue, 7 Apr 2015 13:10:01 +0200
> From: Sérgio Agostinho <sergio.r.agostinho at gmail.com>
> To: Discussion of the development of and with GStreamer
> <gstreamer-devel at lists.freedesktop.org>
> Subject: Re: Custom Bin
> Message-ID:
> <CALUX5R0E_EhTsLQ7V1Y=
> DX3MWrrtEvt2s2EHH_2_BnV-GDTJ3Q at mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
>
> Hi Sneha,
>
>
> 1 - In the code you've mentioned
> <
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-bin-custom.html
> >,
> what is happening is that you're trying to create en element instance of
> the custom 'oggvorbisplayer' plugin. Notice that this 'oggvorbisplayer'
> plugin is representative of the custom plugin someone has (personally)
> developed and therefore not part of the generically available plugins. You
> can find more info on how to write custom plugins in the Plugin Writers
> Guide
> <
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/index.html
> >
> .
> 2 - If you run gst-inspect without any additional argument it will print
> the list of available plugins on your system.
>
> Side note: You're reading the manual for 1.4.5 and yet you're using 0.1. I
> would recommend bumping it to the latest version.
>
> Cheers
>
>
>
> 2015-04-07 10:51 GMT+02:00 Sneha Murganoor <sneha.nie at gmail.com>:
>
> > Hi all,
> >
> > I am new bee to Gstreamer, learning through Gstreamer Application manual
> > 1.4.5.
> >
> > While i compiled the code in
> >
> >
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-bin-custom.html
> > I realized that oggvorbisplayer plugin is missing.
> >
> > >>gst-inspect-0.10 oggvorbisplayer
> > No such element or plugin 'oggvorbisplayer'
> >
> > >>gcc custom_bin.c -o custom_bin `pkg-config --cflags --libs
> > gstreamer-0.10`
> >
> >
> > >>./custom_bin
> >
> > (custom_bin:7173): GLib-GObject-CRITICAL **: g_object_set: assertion
> > `G_IS_OBJECT (object)' failed
> >
> > 1. How do I fix this??
> > 2. how to find : Which elements/plugins are placed in gst plugins?
> >
> > Thanks,
> > Sneha
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150407/17d2c7af/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Tue, 7 Apr 2015 17:12:15 +0530
> From: Mayank Agarwal <mayank77fromindia at gmail.com>
> To: gstreamer-devel at lists.freedesktop.org
> Subject: Re: Calculate timestamp in handoff callback
> Message-ID:
> <CAKjpqyJNZkhxSiJOSzYoGq7nOF5CwS+DDqtfCo4kH-2LKk2=
> kQ at mail.gmail.com>
> Content-Type: text/plain; charset=UTF-8
>
> Hi,
>
> I have written another application in which the handoff function is
> getting called but i am getting timestamp 0.
>
> My doubts are:
>
> 1.We have to attach handoff signal to sink element,if we can do that
> to all sink elements or only specific.
> 2.Apart from sink how can we attach it to identity element.
> 3.Correct way of calculating framerate from timestamp in handoff signal.
>
> #include <gst/gst.h>
>
> #include <string.h>
> #include <stdbool.h>
>
>
>
>
> static char *filename;
> static char *result;
> static char *result_crop;
>
> static GMainLoop *loop;
> static GstElement *pipeline;
> static GstElement *src, *demux, *sink;
>
>
>
> static unsigned buffer_count;
>
> static gboolean bus_cb(GstBus *bus, GstMessage *msg, gpointer data)
> {
> switch (GST_MESSAGE_TYPE(msg)) {
> case GST_MESSAGE_EOS:
> g_main_loop_quit(loop);
> break;
> case GST_MESSAGE_ERROR: {
> gchar *debug;
> GError *err;
>
> gst_message_parse_error(msg, &err, &debug);
>
> g_printerr("error: %s: %s\n", err->message, debug);
> g_error_free(err);
> g_free(debug);
>
> g_main_loop_quit(loop);
> break;
> }
> default:
> break;
> }
>
> return TRUE;
> }
>
> static void on_pad_added(GstElement *element, GstPad *pad, gpointer data)
> {
> GstPad *sinkpad;
> GstStructure *struc;
> const gchar *name;
>
> sinkpad = gst_element_get_static_pad(sink, "sink");
> gst_pad_link(pad, sinkpad);
> gst_object_unref(sinkpad);
>
> struc = gst_caps_get_structure(GST_PAD_CAPS(pad), 0);
>
> // struc = gst_caps_get_structure(gst_pad_get_current_caps(pad), 0);
>
> name = gst_structure_get_name(struc);
> if (strncmp(name, "video/", 6) != 0)
> return;
>
> }
>
> static void handoff(GstElement *object,
> GstBuffer *buffer,
> GstPad *pad,
> gpointer user_data)
> {
> GstStructure *struc;
> const GValue *codec_data;
> bool r;
> int bufsamplesize = 0;
> GstClockTime timestamp;
> int framerate = 0;
> int duration = 0;
>
> buffer_count++;
>
>
> if(GST_BUFFER_TIMESTAMP_IS_VALID(buffer))
> g_printf("Timestamp is valid\n");
>
> if(GST_BUFFER_DURATION_IS_VALID(buffer))
> g_printf("Duration is valid\n");
>
> bufsamplesize = GST_BUFFER_SIZE(buffer);
> g_printf("Buffer sample size = %d\n",bufsamplesize);
>
>
> timestamp = GST_BUFFER_TIMESTAMP(buffer);
> g_print ("Timestamp calculated = : %" GST_TIME_FORMAT "\n",
> GST_TIME_ARGS (timestamp));
> duration = GST_BUFFER_DURATION(buffer);
> g_printf("Duration = %d\n",duration);
>
> framerate = 1000000*1/timestamp;
> g_print ("Framerate calculated = : %" GST_TIME_FORMAT "\n",
> GST_TIME_ARGS (framerate));
>
>
> /*struc = gst_caps_get_structure(GST_BUFFER_CAPS(buffer), 0);
> codec_data = gst_structure_get_value(struc, "codec_data");
> if (codec_data) {
> GstBuffer *tmp;
> tmp = gst_value_get_buffer(codec_data);
> printf("Inside codec_data\n");
> }*/
>
> printf("Inside codec_data\n");
>
>
> }
>
> static void init(void)
> {
> pipeline = gst_pipeline_new("parse");
>
> src = gst_element_factory_make("filesrc", "src");
> demux = gst_element_factory_make("qtdemux", "demux");
> sink = gst_element_factory_make("fakesink", "sink");
>
> gst_bin_add_many(GST_BIN(pipeline), src, demux, sink, NULL);
> gst_element_link(src, demux);
> g_signal_connect(demux, "pad-added", G_CALLBACK(on_pad_added), NULL);
>
> GstBus *bus;
> bus = gst_pipeline_get_bus(GST_PIPELINE(pipeline));
> gst_bus_add_watch(bus, bus_cb, NULL);
> gst_object_unref(bus);
>
> g_object_set(G_OBJECT(src), "location", filename, NULL);
>
> g_object_set(G_OBJECT(sink), "signal-handoffs", TRUE, "num-buffers", 1,
> NULL);
> g_signal_connect(sink, "handoff", G_CALLBACK(handoff), NULL);
>
> gst_element_set_state(pipeline, GST_STATE_PLAYING);
> }
>
>
>
> int main(int argc, char *argv[])
> {
> int ret;
> char *expected;
> char *expected_crop = NULL;
>
> gst_init(&argc, &argv);
>
> loop = g_main_loop_new(NULL, FALSE);
>
> if (argc < 3)
> return -1;
>
> filename = argv[1];
> expected = argv[2];
>
> if (argc >= 4)
> expected_crop = argv[3];
>
> init();
>
> g_main_loop_run(loop);
>
> if (result) {
> g_print("%s %s\n", result, result_crop);
> } else {
> if (buffer_count == 0)
> g_printerr("no data\n");
> else
> g_printerr("no result\n");
> }
>
> ret = !!g_strcmp0(expected, result);
> if (!ret && expected_crop)
> ret = !!g_strcmp0(expected_crop, result_crop);
>
> g_free(result);
> g_free(result_crop);
>
> if (pipeline) {
> gst_element_set_state(pipeline, GST_STATE_NULL);
> gst_object_unref(GST_OBJECT(pipeline));
> }
>
>
> g_main_loop_unref(loop);
>
> return -ret;
> }
>
> Regards
> Mayank
>
>
>
> On Tue, Apr 7, 2015 at 4:22 PM,
> <gstreamer-devel-request at lists.freedesktop.org> wrote:
> > Send gstreamer-devel mailing list submissions to
> > gstreamer-devel at lists.freedesktop.org
> >
> > To subscribe or unsubscribe via the World Wide Web, visit
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> > or, via email, send a message with subject or body 'help' to
> > gstreamer-devel-request at lists.freedesktop.org
> >
> > You can reach the person managing the list at
> > gstreamer-devel-owner at lists.freedesktop.org
> >
> > When replying, please edit your Subject line so it is more specific
> > than "Re: Contents of gstreamer-devel digest..."
> >
> >
> > Today's Topics:
> >
> > 1. Custom Bin (Sneha Murganoor)
> > 2. Re: h264parse has been removed from gstreamer-1.0? (SpicyChicken)
> > 3. Calculate timestamp in handoff callback (Mayank Agarwal)
> > 4. Re: starting android development (Sérgio Agostinho)
> > 5. Re: h264parse has been removed from gstreamer-1.0?
> > (Carlos Rafael Giani)
> > 6. Re: Not able to call handoff callback (Sérgio Agostinho)
> >
> >
> > ----------------------------------------------------------------------
> >
> > Message: 1
> > Date: Tue, 7 Apr 2015 14:21:22 +0530
> > From: Sneha Murganoor <sneha.nie at gmail.com>
> > To: gstreamer-devel at lists.freedesktop.org
> > Subject: Custom Bin
> > Message-ID:
> > <
> CACP3xLGcZk3uS6WPO587i4DCXBJN2tW-KRZudtved9j2bZZzmA at mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Hi all,
> >
> > I am new bee to Gstreamer, learning through Gstreamer Application manual
> > 1.4.5.
> >
> > While i compiled the code in
> >
> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/section-bin-custom.html
> > I realized that oggvorbisplayer plugin is missing.
> >
> >>>gst-inspect-0.10 oggvorbisplayer
> > No such element or plugin 'oggvorbisplayer'
> >
> >>>gcc custom_bin.c -o custom_bin `pkg-config --cflags --libs
> gstreamer-0.10`
> >
> >
> >>>./custom_bin
> >
> > (custom_bin:7173): GLib-GObject-CRITICAL **: g_object_set: assertion
> > `G_IS_OBJECT (object)' failed
> >
> > 1. How do I fix this??
> > 2. how to find : Which elements/plugins are placed in gst plugins?
> >
> > Thanks,
> > Sneha
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
> http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150407/c1671702/attachment-0001.html
> >
> >
> > ------------------------------
> >
> > Message: 2
> > Date: Tue, 7 Apr 2015 02:03:24 -0700 (PDT)
> > From: SpicyChicken <xch0929 at 126.com>
> > To: gstreamer-devel at lists.freedesktop.org
> > Subject: Re: h264parse has been removed from gstreamer-1.0?
> > Message-ID: <1428397404820-4671478.post at n4.nabble.com>
> > Content-Type: text/plain; charset=UTF-8
> >
> > Yeah, I see, but actually gst-plugins-bad package are lots of so files.
> The
> > element h264parse is built into the library of libgstvideoparsersbad.
> >
> >
> >
> >
> >
> > Carlos Rafael Giani wrote
> >> It is actually not in the library, but in the gst-plugins-bad package.
> >>
> >>
> >> Am 2015-04-07 um 09:10 schrieb Thornton, Keith:
> >>> Yes, gst-inspect-1.0 finds it. I am using it for the purpose you also
> >>> wish to use it for. Have you performed a full install? Can you find
> >>> libgstvideoparsersbad ?
> >>>
> >>> -----Ursprüngliche Nachricht-----
> >>> Von: gstreamer-devel [mailto:
> >
> >> gstreamer-devel-bounces at .freedesktop
> >
> >> ] Im Auftrag von SpicyChicken
> >>> Gesendet: Dienstag, 7. April 2015 08:43
> >>> An:
> >
> >> gstreamer-devel at .freedesktop
> >
> >>> Betreff: Re: AW: h264parse has been removed from gstreamer-1.0?
> >>>
> >>> Can you find it with gst-inspect-1.0? I can not.
> >>>
> >>> Thanks,
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> View this message in context:
> >>>
> http://gstreamer-devel.966125.n4.nabble.com/h264parse-has-been-removed-from-gstreamer-1-0-tp4671468p4671470.html
> >>> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> >>> _______________________________________________
> >>> gstreamer-devel mailing list
> >>>
> >
> >> gstreamer-devel at .freedesktop
> >
> >>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>> _______________________________________________
> >>> gstreamer-devel mailing list
> >>>
> >
> >> gstreamer-devel at .freedesktop
> >
> >>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >
> >> gstreamer-devel at .freedesktop
> >
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> >
> >
> >
> > --
> > View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/h264parse-has-been-removed-from-gstreamer-1-0-tp4671468p4671478.html
> > Sent from the GStreamer-devel mailing list archive at Nabble.com.
> >
> >
> > ------------------------------
> >
> > Message: 3
> > Date: Tue, 7 Apr 2015 15:46:19 +0530
> > From: Mayank Agarwal <mayank77fromindia at gmail.com>
> > To: gstreamer-devel at lists.freedesktop.org
> > Subject: Calculate timestamp in handoff callback
> > Message-ID:
> > <
> CAKjpqyLwDhWBjZimFh23OD65J5NR7qPah1k5FNzSBQkwwxfmEQ at mail.gmail.com>
> > Content-Type: text/plain; charset=UTF-8
> >
> > Hi,
> >
> > I am implementing handoff cb in the following way,but i am getting
> timestamp
> > as 0.Duration i am getting right.Please find below the code:
> >
> > GstStructure *struc;
> > const GValue *codec_data;
> > bool r;
> > int bufsamplesize = 0;
> > GstClockTime timestamp;
> > int framerate = 0;
> > int duration = 0;
> >
> > buffer_count++;
> >
> >
> > if(GST_BUFFER_TIMESTAMP_IS_VALID(buffer))
> > g_printf("DTS buffer is valid\n");
> >
> > if(GST_BUFFER_DURATION_IS_VALID(buffer))
> > g_printf("DTS buffer is valid\n");
> >
> > bufsamplesize = GST_BUFFER_SIZE(buffer);
> > g_printf("Buffer sample size = %d\n",bufsamplesize);
> >
> >
> > timestamp = GST_BUFFER_TIMESTAMP(buffer);
> > g_print ("Timestamp calculated = : %" GST_TIME_FORMAT "\n",
> > GST_TIME_ARGS (timestamp));
> > duration = GST_BUFFER_DURATION(buffer);
> > g_printf("Duration = %d\n",duration);
> >
> > framerate = 1000000*1/timestamp;
> > g_print ("Framerate calculated = : %" GST_TIME_FORMAT "\n",
> > GST_TIME_ARGS (framerate));
> >
> >
> > /*struc = gst_caps_get_structure(GST_BUFFER_CAPS(buffer), 0);
> > codec_data = gst_structure_get_value(struc, "codec_data");
> > if (codec_data) {
> > GstBuffer *tmp;
> > tmp = gst_value_get_buffer(codec_data);
> > printf("Inside codec_data\n");
> > }*/
> >
> >
> >
> > How to correctly calculate the timestamp from buffer,and how to deduce
> > the frame rate from
> > that.What other video quality parameters gstreamer support and how can
> > i retrieve it.
> >
> >
> > Regards
> > Mayank
> >
> >
> > ------------------------------
> >
> > Message: 4
> > Date: Tue, 7 Apr 2015 12:40:15 +0200
> > From: Sérgio Agostinho <sergio.r.agostinho at gmail.com>
> > To: Discussion of the development of and with GStreamer
> > <gstreamer-devel at lists.freedesktop.org>
> > Subject: Re: starting android development
> > Message-ID:
> > <
> CALUX5R0Ax3L5rO9ZoNZteB6Dqp3Cpznq9yMqTPzg_+dx1fkkgA at mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Hi Leonardo,
> >
> > So I downloaded your code, created a new project and imported your 'app'
> > module into it. Then I noticed your Android.mk had these lines
> >
> > ifndef GSTREAMER_SDK_ROOT
> > ifndef GSTREAMER_SDK_ROOT_ANDROID
> > $(error GSTREAMER_SDK_ROOT_ANDROID is not defined!)
> > endif
> > GSTREAMER_SDK_ROOT := $(GSTREAMER_SDK_ROOT_ANDROID)
> > endif
> > GSTREAMER_NDK_BUILD_PATH :=
> > $(GSTREAMER_SDK_ROOT)/share/gst-android/ndk-build
> >
> > which is strange since the env that 1.4.5 uses is
> >
> > GSTREAMER_ROOT
> >
> > So I set the env, added
> >
> > import org.freedesktop.gstreamer.GStreamer;
> >
> > into your main activity and voilá, the file got copied into the right
> place
> > and no more complains about the missing Gstreamer class. Then I noticed
> you
> > had the following file and folder structure (from a previous build I
> guess)
> >
> > src/main/src/*com/gstreamer/Gstreamer.java*
> >
> > My preliminary conclusion is that you are not using 1.4.5 and you're
> using
> > the android binaries from gstreamer.com.
> >
> > Cheers,
> > Sérgio
> >
> > 2015-04-03 22:45 GMT+02:00 Forzaferrarileo <leonardo.ferroro at gmail.com>:
> >
> >> i tried to add GSTREAMER_JAVA_SRC_DIR := java , but the result is the
> >> same..
> >> I can't figure out the problem ( in eclipse everything works fine )
> >>
> >> I uploaded the whole code here :
> >> https://bitbucket.org/Forzaferrarileo/gstreamer-androidstudio
> >> could you please watch it ?
> >>
> >>
> >> Thank you
> >> Leonardo
> >>
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://gstreamer-devel.966125.n4.nabble.com/starting-android-development-tp4671223p4671448.html
> >> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
> http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150407/d8e96a28/attachment-0001.html
> >
> >
> > ------------------------------
> >
> > Message: 5
> > Date: Tue, 07 Apr 2015 12:49:05 +0200
> > From: Carlos Rafael Giani <dv at pseudoterminal.org>
> > To: gstreamer-devel at lists.freedesktop.org
> > Subject: Re: h264parse has been removed from gstreamer-1.0?
> > Message-ID: <5523B621.5000106 at pseudoterminal.org>
> > Content-Type: text/plain; charset=utf-8; format=flowed
> >
> > It sounds like you are using the names of Ubuntu/Debian packages. This
> > might explain the confusion. I was referring to the upstream packages.
> > Here's h264parse:
> >
> http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst/videoparsers
> >
> > and it uses functions from:
> >
> >
> http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/tree/gst-libs/gst/codecparsers
> >
> > On 04/07/2015 11:03 AM, SpicyChicken wrote:
> >> Yeah, I see, but actually gst-plugins-bad package are lots of so files.
> The
> >> element h264parse is built into the library of libgstvideoparsersbad.
> >>
> >>
> >>
> >>
> >>
> >> Carlos Rafael Giani wrote
> >>> It is actually not in the library, but in the gst-plugins-bad package.
> >>>
> >>>
> >>> Am 2015-04-07 um 09:10 schrieb Thornton, Keith:
> >>>> Yes, gst-inspect-1.0 finds it. I am using it for the purpose you also
> >>>> wish to use it for. Have you performed a full install? Can you find
> >>>> libgstvideoparsersbad ?
> >>>>
> >>>> -----Ursprüngliche Nachricht-----
> >>>> Von: gstreamer-devel [mailto:
> >>> gstreamer-devel-bounces at .freedesktop
> >>> ] Im Auftrag von SpicyChicken
> >>>> Gesendet: Dienstag, 7. April 2015 08:43
> >>>> An:
> >>> gstreamer-devel at .freedesktop
> >>>> Betreff: Re: AW: h264parse has been removed from gstreamer-1.0?
> >>>>
> >>>> Can you find it with gst-inspect-1.0? I can not.
> >>>>
> >>>> Thanks,
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> View this message in context:
> >>>>
> http://gstreamer-devel.966125.n4.nabble.com/h264parse-has-been-removed-from-gstreamer-1-0-tp4671468p4671470.html
> >>>> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> >>>> _______________________________________________
> >>>> gstreamer-devel mailing list
> >>>>
> >>> gstreamer-devel at .freedesktop
> >>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>>> _______________________________________________
> >>>> gstreamer-devel mailing list
> >>>>
> >>> gstreamer-devel at .freedesktop
> >>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>> _______________________________________________
> >>> gstreamer-devel mailing list
> >>> gstreamer-devel at .freedesktop
> >>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> >>
> >>
> >>
> >> --
> >> View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/h264parse-has-been-removed-from-gstreamer-1-0-tp4671468p4671478.html
> >> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> >
> > ------------------------------
> >
> > Message: 6
> > Date: Tue, 7 Apr 2015 12:51:50 +0200
> > From: Sérgio Agostinho <sergio.r.agostinho at gmail.com>
> > To: Discussion of the development of and with GStreamer
> > <gstreamer-devel at lists.freedesktop.org>
> > Subject: Re: Not able to call handoff callback
> > Message-ID:
> > <CALUX5R3So7TBHwDdSZFCdMEjD9Ky7oLtp2i1d+vrJyb=
> tdzkqw at mail.gmail.com>
> > Content-Type: text/plain; charset="utf-8"
> >
> > Hey,
> >
> > 1 - You are not creating any identity element in your pipeline.
> > 2 - You're trying to set the handoff cb on your autovideosink, not on
> your
> > (yet to be created) identity element.
> >
> > Cheers
> >
> > 2015-04-07 8:50 GMT+02:00 Mayank Agarwal <mayank77fromindia at gmail.com>:
> >
> >> Hi,
> >>
> >> I have modified basic tutorial two to include identity element but
> >> i am not able to get the callback called.
> >>
> >> Here is the example
> >>
> >> #include <gst/gst.h>
> >>
> >> static void
> >> handoff(GstElement *object,
> >> GstBuffer *arg0,
> >> GstPad *arg1,
> >> gpointer user_data)
> >> {
> >>
> >> printf("comes here");
> >>
> >> }
> >>
> >>
> >>
> >>
> >> int main(int argc, char *argv[]) {
> >> GstElement *pipeline, *source, *sink;
> >> GstBus *bus;
> >> GstMessage *msg;
> >> GstStateChangeReturn ret;
> >> GstElement *identity;
> >>
> >> /* Initialize GStreamer */
> >> gst_init (&argc, &argv);
> >>
> >> /* Create the elements */
> >> source = gst_element_factory_make ("videotestsrc", "source");
> >>
> >> sink = gst_element_factory_make ("autovideosink", "sink");
> >>
> >> /* Create the empty pipeline */
> >> pipeline = gst_pipeline_new ("test-pipeline");
> >>
> >> if (!pipeline || !source || !sink) {
> >> g_printerr ("Not all elements could be created.\n");
> >> return -1;
> >> }
> >>
> >> /* Build the pipeline */
> >> gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL);
> >> if (gst_element_link (source, sink) != TRUE) {
> >> g_printerr ("Elements could not be linked.\n");
> >> gst_object_unref (pipeline);
> >> return -1;
> >> }
> >>
> >> /* Modify the source's properties */
> >> g_object_set (source, "pattern", 0, NULL);
> >> g_object_set(G_OBJECT(sink), "signal-handoffs", TRUE, NULL);
> >> g_signal_connect(sink, "handoff",G_CALLBACK(handoff), NULL);
> >>
> >> /* Start playing */
> >> ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
> >> if (ret == GST_STATE_CHANGE_FAILURE) {
> >> g_printerr ("Unable to set the pipeline to the playing state.\n");
> >> gst_object_unref (pipeline);
> >> return -1;
> >> }
> >>
> >> /* Wait until error or EOS */
> >> bus = gst_element_get_bus (pipeline);
> >> msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
> >> GST_MESSAGE_ERROR | GST_MESSAGE_EOS);
> >>
> >> /* Parse message */
> >> if (msg != NULL) {
> >> GError *err;
> >> gchar *debug_info;
> >>
> >> switch (GST_MESSAGE_TYPE (msg)) {
> >> case GST_MESSAGE_ERROR:
> >> gst_message_parse_error (msg, &err, &debug_info);
> >> g_printerr ("Error received from element %s: %s\n",
> >> GST_OBJECT_NAME (msg->src), err->message);
> >> g_printerr ("Debugging information: %s\n", debug_info ?
> >> debug_info : "none");
> >> g_clear_error (&err);
> >> g_free (debug_info);
> >> break;
> >> case GST_MESSAGE_EOS:
> >> g_print ("End-Of-Stream reached.\n");
> >> break;
> >> default:
> >> /* We should not reach here because we only asked for ERRORs and
> >> EOS */
> >> g_printerr ("Unexpected message received.\n");
> >> break;
> >> }
> >> gst_message_unref (msg);
> >> }
> >>
> >> /* Free resources */
> >> gst_object_unref (bus);
> >> gst_element_set_state (pipeline, GST_STATE_NULL);
> >> gst_object_unref (pipeline);
> >> return 0;
> >> }
> >>
> >>
> >> and the errors i am getting are:
> >>
> >> (btutorialtwo:3807): GLib-GObject-WARNING **: g_object_set_valist:
> >> object class 'GstAutoVideoSink' has no property named
> >> 'signal-handoffs'
> >>
> >> (btutorialtwo:3807): GLib-GObject-WARNING **:
> >> /build/buildd/glib2.0-2.40.2/./gobject/gsignal.c:2462: signal
> >> 'handoff' is invalid for instance '0x9950018' of type
> >> 'GstAutoVideoSink'
> >>
> >> although videotestsrc is playing fine.
> >>
> >> If this is not the correct way of using identity element any
> >> example/links of using identity element using which
> >> i can be able to calculate video frame rate.
> >>
> >>
> >> Regards
> >> Mayank
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.freedesktop.org
> >> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >>
> > -------------- next part --------------
> > An HTML attachment was scrubbed...
> > URL: <
> http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150407/4ecc8381/attachment.html
> >
> >
> > ------------------------------
> >
> > Subject: Digest Footer
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> > ------------------------------
> >
> > End of gstreamer-devel Digest, Vol 51, Issue 15
> > ***********************************************
>
>
> ------------------------------
>
> Subject: Digest Footer
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> ------------------------------
>
> End of gstreamer-devel Digest, Vol 51, Issue 16
> ***********************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150408/8a549b67/attachment-0001.html>
More information about the gstreamer-devel
mailing list