コード例 #1
0
ファイル: mediaplayer.c プロジェクト: GeeXboX/enna
static int
mp_pause(void)
{
    enna_log(ENNA_MSG_INFO, NULL, "pause");
    if (player_playback_get_state(mp->player) == PLAYER_PB_STATE_PLAY)
        player_playback_pause(mp->player);

    return 0;
}
コード例 #2
0
ファイル: mediaplayer.c プロジェクト: GeeXboX/enna
static int
mp_play(void)
{
    player_pb_state_t state = player_playback_get_state(mp->player);

    if (state == PLAYER_PB_STATE_PAUSE)
        player_playback_pause(mp->player); /* unpause */
    else if (state == PLAYER_PB_STATE_IDLE)
        player_playback_start(mp->player);

    return 0;
}
コード例 #3
0
ファイル: libplayer.c プロジェクト: golgol7777/gpac
GF_Err LIBPLAYER_ServiceCommand(GF_InputService *plug, GF_NetworkCommand *com)
{
	LibPlayerIn *read = (LibPlayerIn *) plug->priv;
	GF_LOG(GF_LOG_DEBUG, GF_LOG_MODULE, ("[LibPlayerIN] ServiceCommand for instance %d, read->state=%d\n", read->player_id, read->state));
	if (!com->base.on_channel) return GF_NOT_SUPPORTED;

	if (com->command_type==GF_NET_SERVICE_HAS_AUDIO) return GF_NOT_SUPPORTED;

	switch (com->command_type) {
	case GF_NET_CHAN_SET_PULL: return GF_NOT_SUPPORTED;
	case GF_NET_CHAN_INTERACTIVE: return GF_OK;
	/*since data is file-based, no padding is needed (decoder plugin will handle it itself)*/
	case GF_NET_CHAN_SET_PADDING:  return GF_OK;
	case GF_NET_CHAN_BUFFER:
 		return GF_OK; 
		com->buffer.max = com->buffer.min = 0;
		return GF_OK;
	case GF_NET_CHAN_DURATION:
		/*this module is not made for updates, use undefined duration*/
		com->duration.duration = -1;
		return GF_OK;
	case GF_NET_CHAN_PLAY:
		if (read->state==0) {
#ifndef TEST_LIBPLAYER
			player_playback_start(read->player);
#endif
			read->state = 1;
			GF_LOG(GF_LOG_DEBUG, GF_LOG_MODULE, ("[LibPlayerIN] Starting playback for instance %d\n", read->player_id));
		}
		return GF_OK;
	case GF_NET_CHAN_STOP:
		if (read->state==1) {
#ifndef TEST_LIBPLAYER
			player_playback_pause(read->player);
#endif
			read->state = 0;
			GF_LOG(GF_LOG_DEBUG, GF_LOG_MODULE, ("[LibPlayerIN] Stopping playback for instance %d\n", read->player_id));
		}
		return GF_OK;
	case GF_NET_CHAN_CONFIG:  return GF_OK;
	case GF_NET_CHAN_GET_DSI:
		com->get_dsi.dsi = NULL;
		com->get_dsi.dsi_len = 0;
		return GF_OK;
	}
	return GF_OK;
}