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 [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.


[1] https://sourceforge.net/project/showfiles.php?group_id=74626&package_id=223067
[2] http://gstreamer.freedesktop.org/pkg/windows/releases/
[3] http://svn.gnome.org/viewcvs/banshee/trunk/banshee/libbanshee/gst-playback-0.10.c?view=markup

On 6/28/07, Sébastien Moutte <sebastien@moutte.net> wrote:
Hey Scott,

I'll be happy to help you making Banshee work with Gstreamer in Windows
if I can.
What's the status of the problems you were having ?
This error "GStreamer resource error: OpenRead" makes me think about a
LIBC problem as there are some incompatiblities (with files descriptors
for ie) between msvcrt.dll and newer versions.
What binaries of GStreamer are you using ?


Scott Peterson a écrit :
> Hey GStreamer folks! I'm porting the music app Banshee [1] to Windows
> as a project for the Google Summer of Code. Banshee uses gstreamer for
> its playback backend so I'm now in the process of making that work on
> Windows. Unfortunately, I'm having a bit of trouble. I'll be fully
> investigating the issue come next week, but I thought I'd start my
> quest be making contact with the mailing list. I've summarized the
> trouble I'm having on our Summer of Code list [2] so if anyone has a
> spare moment and wouldn't mind lending a hand to a gstreamer newcomer,
> I'd appreciate any input you might have. Thanks!
> [1] http://banshee-project.org/Main_Page
> [2]
> http://groups.google.com/group/mono-soc-2007/browse_thread/thread/d1d8510fb208bad
> <http://groups.google.com/group/mono-soc-2007/browse_thread/thread/d1d8510fb208bad >
> --
> 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@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel