[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