How to convert g_object_set uri to C++

Cedric Hombourger chombourger at gmail.com
Tue Sep 4 00:50:31 PDT 2012


Sorry I have this more complicated than it needs to be. Please do the following instead:

Glib::ustring sURL(argv[1]);
refPlay->set_property("uri", sURL);

Tested OK with your test program on Ubuntu.

Cedric

On Sep 4, 2012, at 8:36 AM, Фамилия Имя <kangaba at yandex.ru> wrote:

>  Thanks, unfortunately I get a segmentation fault, here's a snippet that compiles:
>  
> #include <gstreamermm.h>
> #include <iostream>
> 
> static Glib::RefPtr<Glib::MainLoop> refLoop;
>  
> gint
> main(gint argc, gchar *argv[]) {
> 
>     if (!Glib::thread_supported()) {
>         Glib::thread_init();
>     }
> 
>     Gst::init(argc, argv);
> 
>     if (argc != 2) {
>         g_print("Usage: %s <URI>\n", argv[0]);
>         return -1;
>     }
> 
>     Glib::RefPtr<Gst::Element> refPlay = Gst::ElementFactory::create_element("playbin", "play");
>     //g_object_set(G_OBJECT(refPlay->gobj()), "uri", argv[1], NULL);
>     
>     Glib::RefPtr< Gst::ElementInterfaced<Gst::URIHandler> > handler =
>             Gst::Interface::cast<Gst::URIHandler>(refPlay);
>     Glib::ustring sURL(argv[1]);
>     handler->set_uri(sURL);
> 
>     refPlay->set_state(Gst::STATE_PLAYING);
> 
>     refLoop = Glib::MainLoop::create(false);
>     refLoop->run();
>     refPlay->set_state(Gst::STATE_NULL);
>     return 0;
> }
>  
>  
> 04.09.2012, 09:27, "Cedric Hombourger" <chombourger at gmail.com>:
>> Please try the following:
>> Glib::RefPtr<Gst::ElementInterfaced<Gst::URIHandler>
>> > handler = Gst::Interface::cast<Gst::URIHandler>(refPlay);
>> handler->set_uri("file:///path/to/file.mp3");
>> On Sep 4, 2012, at 8:21 AM, Фамилия Имя <kangaba at yandex.ru> wrote:
>> 
>>> btw, refPlay is a playbin var created this way:
>>> Glib::RefPtr<Gst::Element> refPlay = Gst::ElementFactory::create_element("playbin", "play");
>>> 
>>> 04.09.2012, 09:19, "Фамилия Имя" <kangaba at yandex.ru>:
>>>> I'm using the (standard) C++ bindings available on Ubuntu (12.04) by installing libgstreamermm-0.10-dev
>>>> 
>>>> 04.09.2012, 09:11, "Cedric Hombourger" <chombourger at gmail.com>:
>>>> 
>>>>>   Hi,
>>>>> 
>>>>>   Are you using the C API or some sort of C++ bindings to GStreamer?
>>>>> 
>>>>>   Cedric
>>>>> 
>>>>>   On Sep 4, 2012, at 7:47 AM, Фамилия Имя <kangaba at yandex.ru> wrote:
>>>>>>    Hi,
>>>>>>    Sorry if it's the wrong place,
>>>>>>    What would be the C++ version of setting the "uri" of the Gst::Element:
>>>>>>    g_object_set(G_OBJECT(refElement->gobj()), "uri", "file:///path/to/file.mp3", NULL);
>>>>>> 
>>>>>>    _______________________________________________
>>>>>>    gstreamer-devel mailing list
>>>>>>    gstreamer-devel at lists.freedesktop.org
>>>>>>    http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>>>>   _______________________________________________
>>>>>   gstreamer-devel mailing list
>>>>>   gstreamer-devel at lists.freedesktop.org
>>>>>   http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> 
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>> 
> _______________________________________________
> 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/20120904/2e4e0413/attachment.html>


More information about the gstreamer-devel mailing list