Re: [Rhythmbox-devel] 0.6 still hangs when reacing end of playlist
- From: Bastien Nocera <hadess hadess net>
- To: tdrobinson huli org
- Cc: Rhythmbox Dev <rhythmbox-devel gnome org>
- Subject: Re: [Rhythmbox-devel] 0.6 still hangs when reacing end of playlist
- Date: Fri, 14 Nov 2003 09:47:23 +0000
On Wed, 2003-11-12 at 22:21, Bastien Nocera wrote:
> On Wed, 2003-11-12 at 19:31, tdrobinson@huli.org wrote:
> > Just updating on the message below. The new version 0.6 still hangs when
> > reaching the end of a playlist. There is a reply to the message below of
> > someone verifying the hang.
> >
> > http://mail.gnome.org/archives/rhythmbox-devel/2003-October/msg00242.html
>
> Get us a backtrace of the hang, otherwise there's absolutely nothing I
> can do for you.
>
> 1) Get the PID
> $ ps aux | grep rhythmbox
> 2) Launch gdb with 12345 being the PID of rhythmbox
> $ gdb attach 12345
> 3) Get rhythmbox going again
> gdb) continue
> 4) Stop RB by pressing Ctrl+C
> 5) Get a backtrace
> gdb) bt thread apply all
> 6) Send that into bugzilla, if it's not in bugzilla, it doesn't exist.
Here's a small update for the xine backend. It might fix the hang people
were seeing at the end of the playlist, also fixes the song changes
taking quite a bit of time. Finally, it reduces the memory usage needed
for decoding.
Cheers
---
Bastien Nocera <hadess@hadess.net>
It hurt the way your tongue hurts after you accidentally staple it to
the wall.
Index: monkey-media/monkey-media-player-xine.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/monkey-media/monkey-media-player-xine.c,v
retrieving revision 1.9
diff -u -r1.9 monkey-media-player-xine.c
--- monkey-media/monkey-media-player-xine.c 22 Oct 2003 00:40:17 -0000 1.9
+++ monkey-media/monkey-media-player-xine.c 14 Nov 2003 09:43:32 -0000
@@ -301,6 +301,7 @@
GError **error)
{
const char *audio_driver;
+ xine_cfg_entry_t entry;
mp->priv->xine = xine_new ();
@@ -339,6 +340,20 @@
mp->priv->video_driver = xine_open_video_driver (mp->priv->xine, "none",
XINE_VISUAL_TYPE_NONE, NULL);
+ /* Reduce the number of buffers to lower the memory usage */
+ memset (&entry, 0, sizeof (entry));
+ if (!xine_config_lookup_entry (mp->priv->xine,
+ "video.num_buffers", &entry))
+ {
+ xine_config_register_num (mp->priv->xine,
+ "video.num_buffers", 5, 0, NULL, 10,
+ NULL, NULL);
+ xine_config_lookup_entry (mp->priv->xine,
+ "video.num_buffers", &entry);
+ }
+ entry.num_value = 5;
+ xine_config_update_entry (mp->priv->xine, &entry);
+
mp->priv->stream = xine_stream_new (mp->priv->xine,
mp->priv->audio_driver,
mp->priv->video_driver);
@@ -397,6 +412,7 @@
g_return_if_fail (MONKEY_MEDIA_IS_PLAYER (mp));
+ xine_stop (mp->priv->stream);
xine_close (mp->priv->stream);
g_free (mp->priv->uri);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]