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 424836 - WMA, AAC and M4A files don't play when crossfading is enabled
WMA, AAC and M4A files don't play when crossfading is enabled
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: playback
0.9.x
Other All
: Normal major
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 447138 469311 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2007-03-31 12:22 UTC by ntetreau
Modified: 2008-03-05 10:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ugly hackish fix for some stream types (3.16 KB, patch)
2007-09-09 05:53 UTC, Jonathan Matthew
none Details | Review
set channel position fields on our capsfilters (2.75 KB, patch)
2007-09-09 09:32 UTC, Jonathan Matthew
none Details | Review

Description ntetreau 2007-03-31 12:22:55 UTC
Please describe the problem:
When the new crossfading engine is enabled after a restart, RB won't play wma files.  There is no error messages displayed, it just won't play any wma file you double click on or in the queue. After disabling the crossfading engine and restarting RB is now able to play all wma files.

Steps to reproduce:
1. Enable the new crossfading engine, restart
2. Double click on a wma (no DRM) 
3. Nothing happens!


Actual results:
The wma file won't be played, no error message is displayed

Expected results:
The wma file should be played as it is normally when the crossfading engine is disabled

Does this happen every time?
Every time

Other information:
Comment 1 Sven Arvidsson 2007-04-16 22:12:40 UTC
When trying to reproduce this bug, I found one WMA file that does not work, and another one that does work, I'm not sure what the difference is between the two. I'm also adding debug output of Rhythmbox trying to play the non working WMA.

I'm using svn r5007.

Not working,
http://www.mp3-tech.org/tests/wma9/g_128k.wma

Working,
http://www.zonicweb.net/music/freemusicdownloads/Marianne/pickmeuprange.wma

(00:01:30) [0x84d8018] [save_entry_type] rhythmdb-tree.c:1054: saving entries of type podcast-post
(00:01:30) [0x80f7028] [rb_shell_player_cmd_play] rb-shell-player.c:1916: play!
(00:01:30) [0x80f7028] [rb_shell_player_playpause] rb-shell-player.c:1933: doing playpause
(00:01:30) [0x80f7028] [rb_shell_player_playpause] rb-shell-player.c:1966: no playing source, using selected source
(00:01:30) [0x80f7028] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2645: setting playing source to 0x81a6120
(00:01:30) [0x80f7028] [rb_shell_player_sync_with_source] rb-shell-player.c:2476: playing source: 0x81a6120, active entry: (nil)
(00:01:30) [0x80f7028] [rb_shell_set_window_title] rb-shell.c:2108: clearing title
(00:01:30) [0x80f7028] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2839: Did not get playing entry : return -1 as length
(00:01:30) [0x80f7028] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2839: Did not get playing entry : return -1 as length
(00:01:30) [0x80f7028] [rb_header_sync] rb-header.c:355: syncing with entry = (nil)
(00:01:30) [0x80f7028] [rb_header_sync] rb-header.c:426: not playing
(00:01:30) [0x80f7028] [rb_shell_player_sync_buttons] rb-shell-player.c:2579: syncing with source 0x81a6120
(00:01:30) [0x80f7028] [rb_shell_playing_source_changed_cb] rb-shell.c:1918: playing source changed
(00:01:30) [0x80f7028] [rb_shell_player_playpause] rb-shell-player.c:1991: choosing first selected entry
(00:01:30) [0x80f7028] [create_stream] rb-player-gst-xfade.c:1691: creating new stream for file:///home/sa/Download/g_128k.wma (stream data 0x84cae98)
(00:01:30) [0x80f7028] [dump_stream_list] rb-player-gst-xfade.c:471: current stream list:
(00:01:30) [0x80f7028] [dump_stream_list] rb-player-gst-xfade.c:492: [waiting] file:///home/sa/Download/g_128k.wma
(00:01:30) [0x80f7028] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2846: playing stream file:///home/sa/Download/g_128k.wma, crossfade -1
(00:01:30) [0x80f7028] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2860: stream file:///home/sa/Download/g_128k.wma is prerolling; will start playback once prerolling is complete -> PREROLL_PLAY
(00:01:30) [0x80f7028] [start_sink] rb-player-gst-xfade.c:2235: starting sink
(00:01:31) [0x8547dd8] [stream_new_decoded_pad_cb] rb-player-gst-xfade.c:1609: got decoded audio pad for stream file:///home/sa/Download/g_128k.wma
(00:01:31) [0x80f7028] [start_sink] rb-player-gst-xfade.c:2265: silence bin is now in state PAUSED
(00:01:31) [0x80f7028] [start_sink] rb-player-gst-xfade.c:2272: adder is now in state PAUSED
(00:01:31) [0x80f7028] [start_sink] rb-player-gst-xfade.c:2279: output bin is now in state PAUSED
(00:01:31) [0x80f7028] [start_sink] rb-player-gst-xfade.c:2284: unpausing sink
(00:01:31) [0x80f7028] [start_sink] rb-player-gst-xfade.c:2312: sink playing
(00:01:31) [0x80f7028] [rb_shell_player_set_playing_entry] rb-shell-player.c:1422: Success!
(00:01:31) [0x80f7028] [rhythmdb_entry_set] rhythmdb.c:2697: queuing RHYTHMDB_ACTION_ENTRY_SET
(00:01:31) [0x80f7028] [rb_shell_player_sync_with_source] rb-shell-player.c:2476: playing source: 0x81a6120, active entry: 0x84cae98
(00:01:31) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:31) [0x80f7028] [rb_shell_set_window_title] rb-shell.c:2131: setting title to "Unknown - g_128k.wma"
(00:01:31) [0x80f7028] [rb_header_sync] rb-header.c:355: syncing with entry = 0x84cae98
(00:01:31) [0x80f7028] [rb_shell_player_sync_buttons] rb-shell-player.c:2579: syncing with source 0x81a6120
(00:01:31) [0x80f7028] [rhythmdb_process_events] rhythmdb.c:2037: processing RHYTHMDB_EVENT_DB_SAVED
(00:01:31) [0x80f7028] [rhythmdb_read_leave] rhythmdb.c:899: counter: 0
(00:01:31) [0x80f7028] [rhythmdb_process_events] rhythmdb.c:2034: processing RHYTHMDB_EVENT_THREAD_EXITED
(00:01:31) [0x80f7028] [rhythmdb_process_events] rhythmdb.c:2016: processing RHYTHMDB_EVENT_ENTRY_SET
(00:01:31) [0x80f7028] [process_tag] rb-player-gst-xfade.c:1297: got tag audio-codec for stream file:///home/sa/Download/g_128k.wma
(00:01:31) [0x80f7028] [process_tag] rb-player-gst-xfade.c:1297: got tag language-code for stream file:///home/sa/Download/g_128k.wma
(00:01:31) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:31) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:32) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:32) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [slider_moved_callback] rb-header.c:548: slider is not dragging
(00:01:32) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:32) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:33) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:33) [0x80f7028] [rb_shell_player_cmd_play] rb-shell-player.c:1916: play!
(00:01:33) [0x80f7028] [rb_shell_player_playpause] rb-shell-player.c:1933: doing playpause
(00:01:33) [0x80f7028] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2846: playing stream file:///home/sa/Download/g_128k.wma, crossfade 0
(00:01:33) [0x80f7028] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2860: stream file:///home/sa/Download/g_128k.wma is prerolling; will start playback once prerolling is complete -> PREROLL_PLAY
(00:01:33) [0x80f7028] [rb_shell_player_sync_with_source] rb-shell-player.c:2476: playing source: 0x81a6120, active entry: 0x84cae98
(00:01:33) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:33) [0x80f7028] [rb_header_sync] rb-header.c:355: syncing with entry = 0x84cae98
(00:01:33) [0x80f7028] [rb_shell_player_sync_buttons] rb-shell-player.c:2579: syncing with source 0x81a6120
(00:01:33) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:33) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:33) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:33) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:34) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:34) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:34) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:34) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:34) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:35) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:35) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:35) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:35) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:35) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:36) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:36) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:36) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:36) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:36) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:37) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:37) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:37) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:37) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:37) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:38) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:38) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing
(00:01:38) [0x80f7028] [get_times_and_stream] rb-player-gst-xfade.c:2184: not playing

Comment 2 Jérôme Guelfucci 2007-06-13 05:33:09 UTC
This launchpad bug  https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/119044 may be the same but it happens with wavpack files. 
Comment 3 Sven Arvidsson 2007-06-28 20:12:19 UTC
Here's debug output when trying to play the non-working file from before, g_128k.wma, using 0.11.1. 

(22:09:52) [0x80fa190] [window_focus_cb] rb-mmkeys-plugin.c:117: window got focus, re-grabbing media keys
(22:09:52) [0x80fa190] [rb_shell_player_cmd_play] rb-shell-player.c:1953: play!
(22:09:52) [0x80fa190] [rb_shell_player_playpause] rb-shell-player.c:1970: doing playpause
(22:09:52) [0x80fa190] [rb_shell_player_playpause] rb-shell-player.c:2003: no playing source, using selected source
(22:09:52) [0x80fa190] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2681: setting playing source to 0x81b5138
(22:09:52) [0x80fa190] [rb_shell_player_sync_with_source] rb-shell-player.c:2512: playing source: 0x81b5138, active entry: (nil)
(22:09:52) [0x80fa190] [rb_shell_set_window_title] rb-shell.c:2112: clearing title
(22:09:52) [0x80fa190] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2875: Did not get playing entry : return -1 as length
(22:09:52) [0x80fa190] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2875: Did not get playing entry : return -1 as length
(22:09:52) [0x80fa190] [rb_header_sync] rb-header.c:355: syncing with entry = (nil)
(22:09:52) [0x80fa190] [rb_header_sync] rb-header.c:426: not playing
(22:09:52) [0x80fa190] [rb_shell_player_sync_buttons] rb-shell-player.c:2615: syncing with source 0x81b5138
(22:09:52) [0x80fa190] [rb_shell_playing_source_changed_cb] rb-shell.c:1922: playing source changed
(22:09:52) [0x80fa190] [rb_shell_player_playpause] rb-shell-player.c:2028: choosing first selected entry
(22:09:52) [0x80fa190] [create_stream] rb-player-gst-xfade.c:1732: creating new stream for file:///home/sa/Programming/Bug%20triage/g_128k.wma (stream data 0x8705788)
(22:09:52) [0x80fa190] [dump_stream_list] rb-player-gst-xfade.c:473: current stream list:
(22:09:52) [0x80fa190] [dump_stream_list] rb-player-gst-xfade.c:494: [waiting] file:///home/sa/Programming/Bug%20triage/g_128k.wma
(22:09:52) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2302: starting sink
sh: jackd: command not found
(22:09:52) [0x8750f00] [stream_new_decoded_pad_cb] rb-player-gst-xfade.c:1650: got decoded audio pad for stream file:///home/sa/Programming/Bug%20triage/g_128k.wma
(22:09:52) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2332: silence bin is now in state PAUSED
(22:09:52) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2339: adder is now in state PAUSED
(22:09:52) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2346: output bin is now in state PAUSED
(22:09:52) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2351: unpausing sink
(22:09:52) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2391: sink playing
(22:09:52) [0x80fa190] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2956: playing stream file:///home/sa/Programming/Bug%20triage/g_128k.wma, crossfade -1
(22:09:52) [0x80fa190] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2970: stream file:///home/sa/Programming/Bug%20triage/g_128k.wma is prerolling; will start playback once prerolling is complete -> PREROLL_PLAY
(22:09:52) [0x80fa190] [rb_player_gst_xfade_set_replaygain] rb-player-gst-xfade.c:3155: can't find stream for (null)
(22:09:52) [0x80fa190] [rb_shell_player_set_playing_entry] rb-shell-player.c:1459: Success!
(22:09:52) [0x80fa190] [rb_shell_player_sync_with_source] rb-shell-player.c:2512: playing source: 0x81b5138, active entry: 0x8705788
(22:09:52) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:52) [0x80fa190] [rb_shell_set_window_title] rb-shell.c:2135: setting title to "Unknown - g_128k.wma"
(22:09:52) [0x80fa190] [rb_header_sync] rb-header.c:355: syncing with entry = 0x8705788
(22:09:52) [0x80fa190] [rb_shell_player_sync_buttons] rb-shell-player.c:2615: syncing with source 0x81b5138
(22:09:52) [0x80fa190] [process_tag] rb-player-gst-xfade.c:1315: got tag audio-codec for stream file:///home/sa/Programming/Bug%20triage/g_128k.wma
(22:09:52) [0x80fa190] [process_tag] rb-player-gst-xfade.c:1315: got tag language-code for stream file:///home/sa/Programming/Bug%20triage/g_128k.wma
(22:09:52) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:52) [0x80fa190] [slider_moved_callback] rb-header.c:548: slider is not dragging
(22:09:53) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:53) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:53) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:53) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:53) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:54) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:54) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:54) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:54) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:54) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:55) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:55) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:55) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:55) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:55) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:56) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:56) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:56) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:56) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:56) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:57) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:57) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:57) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:57) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:57) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:58) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:58) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:58) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:58) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:58) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:59) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:59) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:59) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:59) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:09:59) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:00) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:00) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:00) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:00) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:00) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:01) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:01) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:01) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:01) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:01) [0x80fa190] [rhythmdb_read_enter] rhythmdb.c:907: counter: 1
(22:10:01) [0x8755e50] [query_thread_main] rhythmdb.c:3414: entering query thread
(22:10:01) [0x8755e50] [rhythmdb_query_internal] rhythmdb.c:3391: doing query
(22:10:01) [0x8755e50] [do_query_recurse] rhythmdb-tree.c:2164: doing recursive query, 1 conjunctions
(22:10:01) [0x8755e50] [rhythmdb_query_model_add_results] rhythmdb-query-model.c:1918: adding 2 entries
(22:10:01) [0x80fa190] [idle_process_update] rhythmdb-query-model.c:1039: inserting 2 rows
(22:10:01) [0x8755e50] [rhythmdb_query_internal] rhythmdb.c:3397: completed
(22:10:01) [0x80fa190] [rhythmdb_process_one_event] rhythmdb.c:2039: processing RHYTHMDB_EVENT_QUERY_COMPLETE
(22:10:01) [0x80fa190] [rhythmdb_read_leave] rhythmdb.c:921: counter: 0
(22:10:01) [0x80fa190] [rhythmdb_process_one_event] rhythmdb.c:2032: processing RHYTHMDB_EVENT_THREAD_EXITED
(22:10:01) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:02) [0x80fa190] [rhythmdb_read_enter] rhythmdb.c:907: counter: 1
(22:10:02) [0x8755e50] [query_thread_main] rhythmdb.c:3414: entering query thread
(22:10:02) [0x8755e50] [rhythmdb_query_internal] rhythmdb.c:3391: doing query
(22:10:02) [0x8755e50] [do_query_recurse] rhythmdb-tree.c:2164: doing recursive query, 1 conjunctions
(22:10:02) [0x8755e50] [rhythmdb_query_model_add_results] rhythmdb-query-model.c:1918: adding 0 entries
(22:10:02) [0x8755e50] [rhythmdb_query_internal] rhythmdb.c:3397: completed
(22:10:02) [0x80fa190] [idle_process_update] rhythmdb-query-model.c:1039: inserting 0 rows
(22:10:02) [0x80fa190] [rhythmdb_process_one_event] rhythmdb.c:2039: processing RHYTHMDB_EVENT_QUERY_COMPLETE
(22:10:02) [0x80fa190] [rhythmdb_read_leave] rhythmdb.c:921: counter: 0
(22:10:02) [0x80fa190] [rhythmdb_process_one_event] rhythmdb.c:2032: processing RHYTHMDB_EVENT_THREAD_EXITED
(22:10:02) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:10:02) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
Comment 4 Sven Arvidsson 2007-06-28 20:17:03 UTC
And here's debug output for a wavpack file, grabbed from http://samples.mplayerhq.hu/A-codecs/lossless/ also using 0.11.1.

(22:14:42) [0x80fa190] [window_focus_cb] rb-mmkeys-plugin.c:117: window got focus, re-grabbing media keys
(22:14:43) [0x80fa190] [rb_shell_player_cmd_play] rb-shell-player.c:1953: play!
(22:14:43) [0x80fa190] [rb_shell_player_playpause] rb-shell-player.c:1970: doing playpause
(22:14:43) [0x80fa190] [rb_shell_player_playpause] rb-shell-player.c:2003: no playing source, using selected source
(22:14:43) [0x80fa190] [rb_shell_player_set_playing_source_internal] rb-shell-player.c:2681: setting playing source to 0x81b5138
(22:14:43) [0x80fa190] [rb_shell_player_sync_with_source] rb-shell-player.c:2512: playing source: 0x81b5138, active entry: (nil)
(22:14:43) [0x80fa190] [rb_shell_set_window_title] rb-shell.c:2112: clearing title
(22:14:43) [0x80fa190] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2875: Did not get playing entry : return -1 as length
(22:14:43) [0x80fa190] [rb_shell_player_get_playing_song_duration] rb-shell-player.c:2875: Did not get playing entry : return -1 as length
(22:14:43) [0x80fa190] [rb_header_sync] rb-header.c:355: syncing with entry = (nil)
(22:14:43) [0x80fa190] [rb_header_sync] rb-header.c:426: not playing
(22:14:43) [0x80fa190] [rb_shell_player_sync_buttons] rb-shell-player.c:2615: syncing with source 0x81b5138
(22:14:43) [0x80fa190] [rb_shell_playing_source_changed_cb] rb-shell.c:1922: playing source changed
(22:14:43) [0x80fa190] [rb_shell_player_playpause] rb-shell-player.c:2028: choosing first selected entry
(22:14:43) [0x80fa190] [create_stream] rb-player-gst-xfade.c:1732: creating new stream for file:///home/sa/Download/luckynight.wv (stream data 0x8576610)
(22:14:43) [0x80fa190] [dump_stream_list] rb-player-gst-xfade.c:473: current stream list:
(22:14:43) [0x80fa190] [dump_stream_list] rb-player-gst-xfade.c:494: [waiting] file:///home/sa/Download/luckynight.wv
(22:14:43) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2302: starting sink
sh: jackd: command not found
(22:14:43) [0x817f4e8] [stream_new_decoded_pad_cb] rb-player-gst-xfade.c:1650: got decoded audio pad for stream file:///home/sa/Download/luckynight.wv
(22:14:43) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2332: silence bin is now in state PAUSED
(22:14:43) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2339: adder is now in state PAUSED
(22:14:43) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2346: output bin is now in state PAUSED
(22:14:43) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2351: unpausing sink
(22:14:43) [0x80fa190] [start_sink] rb-player-gst-xfade.c:2391: sink playing
(22:14:43) [0x80fa190] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2956: playing stream file:///home/sa/Download/luckynight.wv, crossfade -1
(22:14:43) [0x80fa190] [rb_player_gst_xfade_play] rb-player-gst-xfade.c:2970: stream file:///home/sa/Download/luckynight.wv is prerolling; will start playback once prerolling is complete -> PREROLL_PLAY
(22:14:43) [0x80fa190] [rb_player_gst_xfade_set_replaygain] rb-player-gst-xfade.c:3155: can't find stream for (null)
(22:14:43) [0x80fa190] [rb_shell_player_set_playing_entry] rb-shell-player.c:1459: Success!
(22:14:43) [0x80fa190] [rb_shell_player_sync_with_source] rb-shell-player.c:2512: playing source: 0x81b5138, active entry: 0x8576610
(22:14:43) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:43) [0x80fa190] [rb_shell_set_window_title] rb-shell.c:2135: setting title to "Unknown - luckynight.wv"
(22:14:43) [0x80fa190] [rb_header_sync] rb-header.c:355: syncing with entry = 0x8576610
(22:14:43) [0x80fa190] [rb_shell_player_sync_buttons] rb-shell-player.c:2615: syncing with source 0x81b5138
(22:14:43) [0x80fa190] [process_tag] rb-player-gst-xfade.c:1315: got tag audio-codec for stream file:///home/sa/Download/luckynight.wv
(22:14:43) [0x80fa190] [process_tag] rb-player-gst-xfade.c:1315: got tag bitrate for stream file:///home/sa/Download/luckynight.wv
(22:14:43) [0x80fa190] [process_tag] rb-player-gst-xfade.c:1354: emitting info field 20 for uri file:///home/sa/Download/luckynight.wv
(22:14:44) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:44) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:44) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:44) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:44) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:45) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:45) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:45) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
(22:14:45) [0x80fa190] [get_times_and_stream] rb-player-gst-xfade.c:2251: not playing
Comment 5 Adam Zimmerman 2007-07-06 15:08:26 UTC
I have the same problem, with aac files as well as wma. As far as I know, all the aac files I have were encoded in iTunes, and none of them work.
Comment 6 Lionel Dricot 2007-08-08 21:22:08 UTC
I confirme that aac files ( ISO Media, MPEG v4 system, iTunes AAC-LC ) doesn't work with crossfading enabled. 

Doesn't work means "It would play one shakky second of music every 15 seconds".

Disabling crossfading or using totem is the workaround to play those file (and why I consider it's not a GStreamer bug).
Comment 7 Lionel Dricot 2007-08-22 21:13:25 UTC
*** Bug 469311 has been marked as a duplicate of this bug. ***
Comment 8 Jonathan Matthew 2007-09-09 05:46:49 UTC
*** Bug 447138 has been marked as a duplicate of this bug. ***
Comment 9 Jonathan Matthew 2007-09-09 05:53:26 UTC
Created attachment 95200 [details] [review]
ugly hackish fix for some stream types

The trouble for some stream types seems to arise from bad buffer timestamps or offsets.  Adding an extra float->int conversion through audioconvert forces it to put correct timestamps on the buffers, which makes the stream play properly.

This seems to work for AAC for me, but I'm not sure about anything else.  Testing would be appreciated.
Comment 10 Jonathan Matthew 2007-09-09 09:00:34 UTC
Actually, it seems to be caused by the channel position fields faad sets on its caps.  If I comment out the code in faad that sets these fields, AAC playback works without this horrible hack.

The WMA decoder doesn't appear to do that, so it must be something else in that case.
Comment 11 Jonathan Matthew 2007-09-09 09:32:51 UTC
Created attachment 95203 [details] [review]
set channel position fields on our capsfilters

This makes AAC playback work for me, but I'd argue that it's working around a bug in the GStreamer code for setting channel positions and/or the faad element, or maybe even the adder element.  A number of things combine to make this suck.

gst_audio_set_structure_channel_positions_list (and therefore gst_audio_set_caps_channel_positions_list) doesn't set the channel positions if there are 1 or 2 channels, but the way faad sets the positions, with gst_audio_set_channel_positions (gst_caps_get_structure (caps, 0), positions), does.
Comment 12 Jonathan Matthew 2007-09-09 12:28:34 UTC
It looks like WMA playback fails because the WMA decoder goes to PAUSED state without pushing a buffer.
Comment 13 Jonathan Matthew 2007-09-09 14:01:30 UTC
Well, not really.

The queue placed in each stream bin has a minimum threshold of 10 buffers, which is meant to force enough data to be decoded to allow us to link the stream bin into the pipeline and start it without exhausting the decoded audio data.

It turns out that the WMA decoder won't in general produce 10 buffers from the data it gets during the preroll phase.  Changing the limit to 1 second allows WMA to work (at least the few WMA files I have) and shouldn't break anything else too much.
Comment 14 Jonathan Matthew 2007-09-09 14:17:56 UTC
After some quick testing, I've committed a change that should allow WMA files to play.
Comment 15 Lionel Dricot 2007-09-09 21:01:37 UTC
Jonathan, I don't know if your solution will work but, anyway, thank you for working on it.
Comment 16 John Bryant 2007-09-10 12:16:49 UTC
bryantk@sover.net
Comment 17 John Bryant 2007-09-11 14:46:24 UTC
Even though you say it sucks, I love that patch!  My m4a files are playing flawlessly now.
Comment 18 Sven Arvidsson 2007-09-12 21:55:38 UTC
The two WMA files I linked to in the first comment now work, that's great!
Comment 19 Jonathan Matthew 2007-09-12 23:40:16 UTC
I've opened bug 476370 against GStreamer to get this fixed in faad, rather than working around it in rhythmbox.

I don't want to commit this patch, since it's working around a bug in an element in gst-plugins-bad.
Comment 20 Jonathan Matthew 2007-09-20 13:30:49 UTC
The faad channel position bug has now been fixed in gst-plugins-bad CVS. AAC playback should work properly with the forthcoming gst-plugins-bad 0.10.6 release.

Are there any remaining types that are known to play poorly with crossfading enabled?
Comment 21 Sven Arvidsson 2007-09-22 21:45:54 UTC
I have made some tests with speex, mpc, m4a, shn, ac3, wv and wav, they all work.

The only problem I found is that some files only fade in, the don't fade out on a song change. This happens with at least shn, ac3, speex and the two WMA samples I linked to in comment 1.
Comment 22 Christopher Halse Rogers 2007-11-20 01:26:34 UTC
The problems I had with playing wavpack files with the gapless backend have disappeared with Rhythmbox 0.11.3, gst-plugins-good 0.10.6, and libgstreamer 0.10.15 on Ubuntu Hardy.
Comment 23 ntetreau 2007-11-20 10:32:33 UTC
Should this bug report be marked as resolved then?
Comment 24 Christopher Halse Rogers 2007-11-21 03:20:28 UTC
As far as I can tell, yes, the bug should be marked as resolved.  It seems that all the reported problems are fixed, or are bugs in gstreamer which will soon be fixed.
Comment 25 Thomas Zander 2008-02-18 10:48:21 UTC
(In reply to comment #5, comment #6 and comment #20)

> Are there any remaining types that are known to play poorly with crossfading
> enabled?

As far as I can tell the issue Adam and Lionel mentioned in comment #5 and comment #6 is still persistent.
Although iTunes is an at least debatable piece of software, it would be nice to be able to play its files with the crossfading backend. Is this likely to be a gstreamer bug or an RB bug?
Comment 26 Jonathan Matthew 2008-02-18 11:12:12 UTC
See comment 19.
Comment 27 Thomas Zander 2008-02-18 11:23:23 UTC
(In reply to comment #26)
> See comment 19.

Right. So your solution from bug 476370 has already been committed to head. Nice! In this case, this bug could be closed I guess. Thanks!
Comment 28 Jonathan Matthew 2008-03-05 10:05:58 UTC
I'm closing this bug; if any new format-specific problems come up we can open new bugs for them.