Enlightenment CVS committal

Author  : tsauerbeck
Project : misc
Module  : eplayer

Dir     : misc/eplayer/src


Modified Files:
        callbacks.c eplayer.c eplayer.h track.c 


Log Message:
don't start playback if playlist->cur_item is NULL :)
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- callbacks.c 30 Jan 2004 02:57:00 -0000      1.34
+++ callbacks.c 31 Jan 2004 10:35:39 -0000      1.35
@@ -22,8 +22,6 @@
        PLAYBACK_STATE_PLAYING
 } PlaybackState;
 
-
-/*static int paused = 0;*/
 static PlaybackState state = PLAYBACK_STATE_STOPPED;
 
 /**
@@ -35,23 +33,26 @@
  * @param event
  */
 EDJE_CB(play) {
+       int res;
+
        debug(DEBUG_LEVEL_INFO, "Play callback entered\n");
 
        switch (state) {
                case PLAYBACK_STATE_STOPPED:
                case PLAYBACK_STATE_PAUSED: /* continue playback */
-                       eplayer_playback_start(player, 0);
+                       res = eplayer_playback_start(player, 0);
                        break;
                case PLAYBACK_STATE_PLAYING: /* restart from beginning */
                        eplayer_playback_stop(player);
-                       eplayer_playback_start(player, 1);
+                       res = eplayer_playback_start(player, 1);
                        break;
                default:
                        assert(0);
                        break;
        }
-       
-       state = PLAYBACK_STATE_PLAYING;
+
+       if (res)
+               state = PLAYBACK_STATE_PLAYING;
 }
 
 /**
@@ -208,8 +209,8 @@
        eplayer_playback_start(player, 1);
        state = PLAYBACK_STATE_PLAYING;
 
-        /* pass the signal to the main edje */
-        edje_object_signal_emit(player->gui.edje, "PLAYLIST_PLAY", "ePlayer");
+       /* pass the signal to the main edje */
+       edje_object_signal_emit(player->gui.edje, "PLAYLIST_ITEM_PLAY", "ePlayer");
 }
 
 EDJE_CB(playlist_item_remove) {
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.c,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -3 -r1.27 -r1.28
--- eplayer.c   24 Jan 2004 21:05:54 -0000      1.27
+++ eplayer.c   31 Jan 2004 10:35:39 -0000      1.28
@@ -193,8 +193,7 @@
  * @param player
  */
 void eplayer_playback_stop(ePlayer *player) {
-       if (!player)
-               return;
+       assert(player);
 
        /* stop the timer that updates the time part */
        if (player->time_timer) {
@@ -233,20 +232,29 @@
  * @param player
  * @param rewind_track
  */
-void eplayer_playback_start(ePlayer *player, int rewind_track) {
+int eplayer_playback_start(ePlayer *player, int rewind_track) {
+       PlayListItem *pli;
+
+       assert(player);
+       
+       if (!(pli = playlist_current_item_get(player->playlist)))
+               return 0;
+
        if (rewind_track)
                track_rewind(player);
 
        ecore_timer_add(0.5, check_playback_next, player);
        player->time_timer = ecore_timer_add(0.5, track_update_time,
                                             player);
-       
+
        pthread_mutex_lock(&player->playback_stop_mutex);
        player->playback_stop = 0;
        pthread_mutex_unlock(&player->playback_stop_mutex);
 
        pthread_create(&player->playback_thread, NULL,
                       (void *) &track_play_chunk, player);
+
+       return 1;
 }
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/eplayer.h,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- eplayer.h   28 Jan 2004 11:17:38 -0000      1.20
+++ eplayer.h   31 Jan 2004 10:35:39 -0000      1.21
@@ -58,7 +58,7 @@
 } ePlayer;
 
 void eplayer_playback_stop(ePlayer *player);
-void eplayer_playback_start(ePlayer *player, int rewind_track);
+int eplayer_playback_start(ePlayer *player, int rewind_track);
 
 #endif
 
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/track.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- track.c     16 Jan 2004 05:10:55 -0000      1.14
+++ track.c     31 Jan 2004 10:35:39 -0000      1.15
@@ -16,6 +16,8 @@
        int read;
        unsigned char *buf = NULL;
 
+       assert(pli);
+
        while (!player->playback_stop &&
               (read = pli->plugin->read(&buf)) != EOF) {
                player->output->play(buf, read);




-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to