After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 309708 - show iradio buffering progress
show iradio buffering progress
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
HEAD
Other Linux
: Normal enhancement
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-07-07 13:15 UTC by Jonathan Matthew
Modified: 2005-07-29 14:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed implementation (19.85 KB, patch)
2005-07-07 13:21 UTC, Jonathan Matthew
none Details | Review
less broken patch (19.81 KB, patch)
2005-07-29 10:37 UTC, Jonathan Matthew
committed Details | Review

Description Jonathan Matthew 2005-07-07 13:15:55 UTC
Currently, rhythmbox doesn't display buffering progress.
Comment 1 Jonathan Matthew 2005-07-07 13:21:05 UTC
Created attachment 48775 [details] [review]
proposed implementation

I also cleaned up signal emission in rb-player-gst.c, since it was starting to
look a bit silly.
Comment 2 James "Doc" Livingston 2005-07-29 06:07:26 UTC
With the patch applied, I get a lot of
GLib-GObject-CRITICAL **: g_value_get_uint: assertion `G_VALUE_HOLDS_UINT
(value)' failed
messages with the following backtrace when I try to play a iradio station

  • #0 IA__g_logv
    at gmessages.c line 503
  • #1 IA__g_log
    at gmessages.c line 517
  • #2 IA__g_return_if_fail_warning
    at gmessages.c line 532
  • #3 IA__g_value_get_uint
    at gvaluetypes.c line 631
  • #4 IA__g_cclosure_marshal_VOID__UINT
    at gmarshal.c line 251
  • #5 IA__g_closure_invoke
    at gclosure.c line 603
  • #6 signal_emit_unlocked_R
    at gsignal.c line 2508
  • #7 IA__g_signal_emit_valist
    at gsignal.c line 2267
  • #8 IA__g_signal_emit
    at gsignal.c line 2311
  • #9 emit_signal_idle
    at rb-player-gst.c line 227
  • #10 g_idle_dispatch
    at gmain.c line 3813
  • #11 IA__g_main_context_dispatch
    at gmain.c line 1934
  • #12 g_main_context_iterate
    at gmain.c line 2565
  • #13 IA__g_main_loop_run
    at gmain.c line 2769
  • #14 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #15 main
    at main.c line 303

Comment 3 Jonathan Matthew 2005-07-29 10:37:24 UTC
Created attachment 49923 [details] [review]
less broken patch

After checking that it all worked, I changed the type of the buffering
percentage from int to uint (to match totem).  I missed one spot, and cleverly
failed to test it afterwards.
Comment 4 James "Doc" Livingston 2005-07-29 13:03:15 UTC
The fixes those issues, and it gives us a buffering progress bar. However it
still locks up the UI for a few seconds during the initial connect, before the
buffering starts - that is more Bug 128106 (iradio connection is not
asynchronous) though.

The patch looks fine if you want it committed.
Comment 5 Jonathan Matthew 2005-07-29 14:00:08 UTC
Please commit this.  Thanks.
Comment 6 James "Doc" Livingston 2005-07-29 14:54:47 UTC
2005-07-30  James Livingston  <jrl@ids.org.au>

        * player/rb-player-gst.c: (rb_player_class_init),
        (rb_player_finalize), (emit_signal_idle), (eos_cb), (error_cb),
        (deep_notify_cb), (buffering_cb), (rb_player_construct):
        * player/rb-player.h:
        * rhythmdb/rhythmdb.c: (rhythmdb_is_busy):
        * rhythmdb/rhythmdb.h:
        * shell/rb-shell-player.c: (rb_shell_player_class_init),
        (rb_shell_player_init), (rb_shell_player_set_property),
        (rb_shell_player_get_property), (rb_shell_player_open_location),
        (info_available_cb), (buffering_cb):
        * shell/rb-shell.c: (rb_shell_construct):
        * shell/rb-statusbar.c: (rb_statusbar_init),
        (rb_statusbar_sync_status), (poll_status),
        (rb_statusbar_set_progress), (rb_statusbar_entry_view_changed_cb):
        * shell/rb-statusbar.h: Patch from Jonathan Matthew
        <jonathan@kaolin.hn.org> to give a buffering indication for iradio
        sources (Closes 309708)