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