[gst-devel] GStreamer on Windows

Sébastien Moutte sebastien at moutte.net
Sat Jul 7 11:56:25 CEST 2007


uri=file://c:/folders/file.avi

Daniel Díaz a écrit :
> Hello!
>
>
> On 7/6/07, Scott Peterson <lunchtimemama at gmail.com> wrote:
>   
>> OK, I've managed to get things working for now (it was an issue with the
>> formatting of the uri). I'll check back in if I encounter additional
>> problems. Thanks for your help everyone!
>>     
>
> So, for the record, how do you format URIs for Windows' playbin, then?
>
> Daniel Díaz
> yosoy at danieldiaz.org
>
>
>
>   
>>  On 7/5/07, Ngurah <ignabandika at yahoo.com> wrote:
>>     
>>> Hi,
>>> on linux i use 3 slash,like uri=file:///, perhaps i
>>> will work to for windows.
>>>
>>> --- Scott Peterson <lunchtimemama at gmail.com> wrote:
>>>
>>>       
>>>> I also tried this:
>>>>
>>>>         
>>>>> gst-launch-0.10.exe playbin
>>>>>           
>>>> uri=file://C:\dance.mp3
>>>>
>>>> and I got this error:
>>>>
>>>> Setting pipeline to PAUSED ...
>>>> ERROR: Pipeline doesn't want to pause.
>>>> ERROR: from element /playbin0: A FILE protocol
>>>> source plugin is required to
>>>> play this stream, but not installed.
>>>> Additional debug info:
>>>>
>>>>         
>> E:\devel-release\src_releases\gst-plugins-base\gst\playback\gstplaybasebin.c(1602):
>>     
>>>> (function) (): /playbin0:
>>>> No URI handler for file
>>>> Setting pipeline to NULL ...
>>>> FREEING pipeline ...
>>>>
>>>> On 7/5/07, Scott Peterson <lunchtimemama at gmail.com >
>>>> wrote:
>>>>         
>>>>> I've replied inline.
>>>>>
>>>>> On 7/3/07, Sébastien Moutte <sebastien at moutte.net>
>>>>>           
>>>> wrote:
>>>>         
>>>>>> What version of Visual Studio are you using to
>>>>>>             
>>>> build GStreamer ?
>>>>         
>>>>>> Depending on the version used, GStreamer
>>>>>>             
>>>> libraries will be linked on
>>>>         
>>>>>> different version of MSVCRT.
>>>>>> You must link on the same version of the libc
>>>>>>             
>>>> for GLIB and GSTREAMER
>>>>         
>>>>>> (you can't merge different version and you can't
>>>>>>             
>>>> merge DEBUG version
>>>>         
>>>>>> with RELEASE version).
>>>>>>             
>>>>> I'm using VS2005 which links to MSVCR80.DLL. How
>>>>>           
>>>> can I specify the use of
>>>>         
>>>>> an older version of the C runtime? I tried
>>>>>           
>>>> changing /MT to /MD, but that
>>>>         
>>>>> just removed the MSVCR80 reference; it did not add
>>>>>           
>>>> a reference to
>>>>         
>>>>> MSVCRT.dll.
>>>>>
>>>>> Dependency Walker is a good tool to check your
>>>>>           
>>>> dependencies
>>>>         
>>>>>> ( http://www.dependencywalker.com/)
>>>>>> One more thing, have you made some tests with
>>>>>>             
>>>> gst-launch with the
>>>>         
>>>>>> version of GStreamer you built ? Because if
>>>>>>             
>>>> there is a problem between
>>>>         
>>>>>> GStreamer and Glib dependencies, you will get
>>>>>>             
>>>> error with gst-launch and
>>>>         
>>>>>> gst-inspect.
>>>>>>             
>>>>> When I try to use gst-launch with the gstreamer
>>>>>           
>>>> binaries that I build
>>>>         
>>>>> myself, I get the same initialization problem
>>>>>           
>>>> (probably related to the
>>>>         
>>>>> MSVCRT problem). When I use gst-launch with the
>>>>>           
>>>> distribution binaries,
>>>>         
>>>>> here's the error I get:
>>>>>           
>>>>>> gst-launch-0.10.exe filesrc location=dance.mp3 !
>>>>>>             
>>>> mad ! autoaudiosink
>>>>         
>>>>> Setting pipeline to PAUSED ...
>>>>> Pipeline is PREROLLING ...
>>>>> ERROR: from element /pipeline0/filesrc0: Internal
>>>>>           
>>>> data flow error.
>>>>         
>>>>> Additional debug info:
>>>>>
>>>>>           
>> E:\devel-cvs\src\gstreamer\libs\gst\base\gstbasesrc.c(1811):
>>     
>>>> (function) ():
>>>>         
>>>>> /pipeline0/filesrc0:
>>>>> streaming task paused, reason not-linked (-1)
>>>>> ERROR: pipeline doesn't want to preroll.
>>>>> Setting pipeline to NULL ...
>>>>> FREEING pipeline ...
>>>>>
>>>>> When I try to open that file with the test app
>>>>>           
>>>> gstplayer [1], it works
>>>>         
>>>>> fine.
>>>>>
>>>>> Thanks,
>>>>> Scott
>>>>>
>>>>> [1] http://perso.orange.es/moutte983/gstreamer/
>>>>>
>>>>> Scott Peterson a écrit :
>>>>>           
>>>>>>> Is there anything else I could provide or do
>>>>>>>               
>>>> that would be of use?
>>>>         
>>>>>>> On 6/29/07, *Scott Peterson*
>>>>>>>               
>>>> < lunchtimemama at gmail.com
>>>>         
>>>>>>> <mailto:lunchtimemama at gmail.com>> wrote:
>>>>>>>
>>>>>>>     Hey Sébastien, thanks for lending a hand.
>>>>>>>               
>>>> Here's the situation:
>>>>         
>>>>>>>     I'm using glib binaries from the OpenVista
>>>>>>>               
>>>> project [1].
>>>>         
>>>>>>>     I initially used Gstreamer 0.10.13
>>>>>>>               
>>>> binaries from freedesktop.org
>>>>         
>>>>>>>     <http://freedesktop.org> [2], but now I'm
>>>>>>>               
>>>> building Gstreamer
>>>>         
>>>>>>>     0.10.13 myself with Visual Studio so that
>>>>>>>               
>>>> I can debug the problem.
>>>>         
>>>>>>>     I tried to initialize the Gstreamer that I
>>>>>>>               
>>>> built, but it failed
>>>>         
>>>>>>>     with this error:
>>>>>>>
>>>>>>>     > Debug Assertion Failed!
>>>>>>>     > File: write.c
>>>>>>>     > Line: 68
>>>>>>>     > Expression: (_osfile(fh) & FOPEN)
>>>>>>>
>>>>>>>     The error happens in line 72 of
>>>>>>>               
>>>> gstregistryxml.c, in the method
>>>>         
>>>>>>>     gst_registry_save. The line is:
>>>>>>>
>>>>>>>     > written = write (registry->cache_file,
>>>>>>>               
>>>> str, len);
>>>>         
>>>>>>>     I think the error arises because
>>>>>>>               
>>>> registry->cache_file has the
>>>>         
>>>>>>>     value 3. registry->cache_file is assigned
>>>>>>>               
>>>> on line 849 of
>>>>         
>>>>>>>     gstregistryxml.c in the method
>>>>>>>               
>>>> gst_registry_xml_write_cache. The
>>>>         
>>>>>>>     line is:
>>>>>>>
>>>>>>>     > registry->cache_file = g_mkstemp
>>>>>>>               
>>>> (tmp_location);
>>>>         
>>>>>>>     Prior to execution of this line,
>>>>>>>               
>>>> registry->cache_file is 0. After
>>>>         
>>>>>>>     execution, it is 3. Someone on IRC advised
>>>>>>>               
>>>> me that this is a
>>>>         
>>>>>>>     problem having to do with the fact that
>>>>>>>               
>>>> I'm building Gstreamer
>>>>         
>>>>>>>     myself, but not glib. Unfortunately I'm
>>>>>>>               
>>>> not able to build glib for
>>>>         
>>>>>>>     a number of reasons, so I just got around
>>>>>>>               
>>>> this problem by
>>>>         
>>>>>> inserting
>>>>>>             
>>>>>>>     > goto fail;
>>>>>>>
>>>>>>>     before the registry->cache_file
>>>>>>>               
>>>> assignment. Gstreamer now
>>>>         
>>>>>> initializes.
>>>>>>             
>>>>>>>     Now to the playback problem. Banshee
>>>>>>>               
>>>> playback is handled in a C
>>>>         
>>>>>>>     library called libbanshee. The relevant
>>>>>>>               
>>>> file is
>>>>         
>>>>>>>     gst-playback-0.10.c [3]. When a song is
>>>>>>>               
>>>> played in the interface,
>>>>         
>>>>>>>     the method gst_playback_open is called,
>>>>>>>               
>>>> and then gst_playback_play
>>>>         
>>>>>>>     (see gst-playback-0.10.c). The error
>>>>>>>               
>>>> occurs while executing
>>>>         
>>>>>>>     gst_playback_play.
>>>>>>>
>>>>>>>     I've traced the problem to the method
>>>>>>>               
>>>> gst_base_src_start in
>>>>         
>>>>>>>     gstbasesrc.c on line 1986:
>>>>>>>
>>>>>>>     >     result = bclass->start (basesrc);
>>>>>>>
>>>>>>>     I'm not able to enter that function while
>>>>>>>               
>>>> debugging (what code is
>>>>         
>>>>>>>     this pointing to?) but when it returns,
>>>>>>>               
>>>> result is 0. I can provide
>>>>         
>>>>>>>     loads of stack trace info or variable
>>>>>>>               
>>>> values, but I don't know
>>>>         
>>>>>>>     what would be helpful for you to know. I
>>>>>>>               
>>>> don't understand what
>>>>         
>>>>>>>     much of the code is doing, but I do know
>>>>>>>               
>>>> that this is happening
>>>>         
>>>>>>>     during a pad activation (whatever that
>>>>>>>               
>>>> is).
>>>>         
>>>>>>>     Thanks again for helping out and let me
>>>>>>>               
>>>> know what other info I can
>>>>         
>>>>>>>     provide.
>>>>>>>
>>>>>>>     Best,
>>>>>>>     Scott
>>>>>>>
>>>>>>>     [1]
>>>>>>>
>>>>>>>               
>> https://sourceforge.net/project/showfiles.php?group_id=74626&package_id=223067
>>     
>>> === message truncated ===>
>>>
>>>       
>> -------------------------------------------------------------------------
>>     
>>>> This SF.net email is sponsored by DB2 Express
>>>> Download DB2 Express C - the FREE version of DB2
>>>> express and take
>>>> control of your XML. No limits. Just data. Click to
>>>> get it now.
>>>> http://sourceforge.net/powerbar/db2/>
>>>>         
>>> _______________________________________________
>>>       
>>>> gstreamer-devel mailing list
>>>> gstreamer-devel at lists.sourceforge.net
>>>>
>>>>         
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>     
>>>
>>>
>>>
>>>       
>> ____________________________________________________________________________________
>>     
>>> Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail,
>>>       
>> news, photos & more.
>>     
>>> http://mobile.yahoo.com/go?refer=1GNXIC
>>>
>>>
>>>       
>> -------------------------------------------------------------------------
>>     
>>> This SF.net email is sponsored by DB2 Express
>>> Download DB2 Express C - the FREE version of DB2 express and take
>>> control of your XML. No limits. Just data. Click to get it now.
>>> http://sourceforge.net/powerbar/db2/
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.sourceforge.net
>>>
>>>       
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>     
>>
>> --
>> Scott.
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by DB2 Express
>> Download DB2 Express C - the FREE version of DB2 express and take
>> control of your XML. No limits. Just data. Click to get it now.
>> http://sourceforge.net/powerbar/db2/
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>>
>>     
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>   




More information about the gstreamer-devel mailing list