List Info

Thread: CR/CN-Client: Replace random playback with real Playlist Shuffle / Playlist records err




CR/CN-Client: Replace random playback with real Playlist Shuffle / Playlist records err
country flaguser name
United States
2007-11-06 02:42:39
Modified by: dyekreal.com
Date: 11/5/2007
Project: Helix Player

Synopsis: 
Replace random playback with real Playlist Shuffle /
Playlist records error and continues.

Overview: 
Implemented a better Shuffle by replacing random playback
with 
"real Shuffle" (all clips played once) and by
emulating 
normal Shuffle in incremental random-select operations.

This implementation should perform better in large Playlist
as compared
to shuffling huge list right in the beginning.
It simplifies adding and removing Playlist entries after 
Shuffle-playback started.

It also has a nice property that memory usage is
incrementally larger,
corresponding to the number of clips played (not that it is
very 
substantial.)

Also fixed bugs where the Playlist didn't continue with 
subsequent clips after an error or an Upgrade Request.
Now, the Playlist logs the error message "in the error
badge" and then
continues playing back subsequent clips.

Previous button in Shuffle mode now corresponds to the
actual (random) 
clips played.
The behavior of Previous and Next buttons is working well
enough to be
checked in, but more work is needed to implement behavior
identical
to other players and to fix some defects.

I'm hoping to gather all Previous and Next buttons' policies
code in
one or two places and make it/them object(s).
As it is now, the policies/code are scattered all over the
places.


Files Modified:
player/app/gtk/playlistdialog.cpp
player/app/gtk/mainapp.cpp
player/app/gtk/playlistdialog-private.h
player/common/gtk/hxplaylist.cpp
player/common/gtk/pub/hxplaylist.h


Image Size and Heap Use impact (Client -Only):
None.

Platforms and Profiles Affected:
Linux

Distribution Libraries Affected:
None.

Distribution library impact and planned action:
None.

Platforms and Profiles Build Verified:
Profile: helix_client_all_define
Platform: Fedora Core 6

Platforms and Profiles Functionality verified:
Profile: helix_client_all_define
Platform: Fedora Core 6

Branch: HEAD

Copyright assignment: I am a RealNetworks employee.


-- 
Daniel Yek.


_______________________________________________
Player-dev mailing list
Player-devhelixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/play
er-dev

  
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )