amplayerMy Project: player_ctrl.c File Reference

amplayer

player_ctrl.c File Reference
#include <pthread.h> #include <player.h>
#include <player_set_sys.h>
#include "player_ts.h"
#include "player_es.h"
#include "player_rm.h"
#include "player_ps.h"
#include "player_video.h"
#include "player_audio.h"
#include "player_update.h"
#include "thread_mgt.h"
#include "player_ffmpeg_ctrl.h"
#include "player_cache_mgt.h"
#include "player_priv.h"
#include <amthreadpool.h>
Include dependency graph for player_ctrl.c:

Go to the source code of this file.

Defines

#define FBIOPUT_OSD_SRCCOLORKEY   0x46fb
#define FBIOPUT_OSD_SRCKEY_ENABLE   0x46fa

Functions

void print_version_info ()
int player_init (void)
 Amlogic player initilization. Make sure call it once when setup amlogic player every time.
int player_start (play_control_t *ctrl_p, unsigned long priv)
 Amlogic player start to play a specified path streaming file.
int player_start_play (int pid)
 if need_start set 1, call player_start_play to start playback
int player_stop (int pid)
 send stop command to player (synchronous)
int player_stop_async (int pid)
 send stop command to player (asynchronous)
int player_exit (int pid)
 release player resource
int player_pause (int pid)
 send pause command to player
int player_resume (int pid)
 send resume command to player
int player_loop (int pid)
 send loop command to set loop play current file
int player_noloop (int pid)
 send noloop command to cancle loop play
int player_timesearch (int pid, float s_time)
 seek to designated time point to play.
int player_forward (int pid, int speed)
 send fastforward command to player
int player_backward (int pid, int speed)
 send fast backward command to player.
int player_aid (int pid, int audio_id)
 switch audio stream to designed id audio stream.
int player_sid (int pid, int sub_id)
 send switch subtitle id command to player
int player_enable_autobuffer (int pid, int enable)
 enable/disable auto buffering
int player_set_autobuffer_level (int pid, float min, float middle, float max)
 player_set_autobuffer_level
int player_send_message (int pid, player_cmd_t *cmd)
 send message to player thread
int player_register_update_callback (callback_t *cb, update_state_fun_t up_fn, int interval_s)
 App can register a update callback function into player.
player_status player_get_state (int pid)
 get player current state
unsigned int player_get_extern_priv (int pid)
 get current player's unique identification
int player_get_play_info (int pid, player_info_t *info)
 get player's information
int64_t player_get_lpbufbuffedsize (int pid)
 get player current lpbufbuffedsize
int64_t player_get_streambufbuffedsize (int pid)
 get player current streambufbuffedsize
int player_get_media_info (int pid, media_info_t *minfo)
 get file media information
int player_video_overlay_en (unsigned enable)
 enable osd colorkey
int audio_set_mute (int pid, int mute_on)
 volume mute switch
int audio_get_volume_range (int pid, float *min, float *max)
 get volume range
int audio_set_volume (int pid, float val)
 set val to volume
int audio_get_volume (int pid, float *vol)
 get volume
int audio_set_lrvolume (int pid, float lvol, float rvol)
 set left and right volume
int audio_get_lrvolume (int pid, float *lvol, float *rvol)
 get left/right volume
int audio_set_volume_balance (int pid, int balance)
 switch balance
int audio_swap_left_right (int pid)
 swap left and right channel
int audio_left_mono (int pid)
int audio_right_mono (int pid)
 audio_right_mono
int audio_stereo (int pid)
int audio_lr_mix_set (int pid, int enable)
 + * + *
int audio_cur_pcmpara_Applied_get (int pid, int *pfs, int *pch)
int audio_set_spectrum_switch (int pid, int isStart, int interval)
int player_progress_exit (void)
 used for all exit,please only call at this process fatal error.
int player_list_allpid (pid_info_t *pid)
 list all alived player pid
int player_cache_system_init (int enable, const char *dir, int max_size, int block_size)
 player_cache_system_init
char * player_status2str (player_status status)
 convert player state value to string
char * player_value2str (char *key, int value)
 convert player state value to string
int audio_get_decoder_enable (int pid)

Detailed Description

Author:
Xu Hui <[email protected]>
Version:
1.0.1
Date:
2012-01-19

Definition in file player_ctrl.c.


Function Documentation

int audio_get_lrvolume ( int  pid,
float *  lvol,
float *  rvol 
)

get left/right volume

audio_get_lrvolume

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
r = 0 for success

lvol,rvol range : 0~1

Definition at line 1205 of file player_ctrl.c.

int audio_get_volume ( int  pid,
float *  vol 
)

get volume

audio_get_volume

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
r = 0 success

vol range:0~1

Definition at line 1150 of file player_ctrl.c.

int audio_get_volume_range ( int  pid,
float *  min,
float *  max 
)

get volume range

audio_get_volume_range

Parameters:
[in]pidplayer tag which get from player_start return value
[out]minvolume minimum
[out]maxvolume maximum
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

0~1

Definition at line 1112 of file player_ctrl.c.

int audio_left_mono ( int  pid)

audio_left_mono

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1270 of file player_ctrl.c.

int audio_lr_mix_set ( int  pid,
int  enable 
)

+ * + *

+ * audio_lr_mix + * + *

Parameters:
[in]pidplayer tag which get from player_start return value + * + *
Returns:
PLAYER_SUCCESS success + * PLAYER_FAILED failed+ *

+

Definition at line 1368 of file player_ctrl.c.

int audio_right_mono ( int  pid)

audio_right_mono

audio_right_mono

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1303 of file player_ctrl.c.

int audio_set_lrvolume ( int  pid,
float  lvol,
float  rvol 
)

set left and right volume

audio_set_lrvolume

Parameters:
[in]pidplayer tag which get from player_start return value
[in]lval,:left volume value
[in]rval,:right volume value
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

lvol,rvol range: 0~1

Definition at line 1176 of file player_ctrl.c.

int audio_set_mute ( int  pid,
int  mute_on 
)

volume mute switch

audio_set_mute

Parameters:
[in]pidplayer tag which get from player_start return value
[in]mute_onvolume mute flag 1:mute 0:inmute
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1072 of file player_ctrl.c.

int audio_set_spectrum_switch ( int  pid,
int  isStart,
int  interval 
)

audio_set_spectrum_switch

Parameters:
[in]pidplayer tag which get from player_start return value
[in]isStartopen/close spectrum switch function
[in]intervalswtich interval
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1424 of file player_ctrl.c.

int audio_set_volume ( int  pid,
float  val 
)

set val to volume

audio_set_volume

Parameters:
[in]pidplayer tag which get from player_start return value
[in]valvolume value
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

val range: 0~1

Definition at line 1132 of file player_ctrl.c.

int audio_set_volume_balance ( int  pid,
int  balance 
)

switch balance

audio_set_volume_balance

Parameters:
[in]pidplayer tag which get from player_start return value
[in]balancebalance flag 1:set balance 0:cancel balance
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1232 of file player_ctrl.c.

int audio_stereo ( int  pid)

audio_stereo

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1336 of file player_ctrl.c.

int audio_swap_left_right ( int  pid)

swap left and right channel

audio_swap_left_right

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1251 of file player_ctrl.c.

int player_aid ( int  pid,
int  audio_id 
)

switch audio stream to designed id audio stream.

player_aid

Parameters:
[in]pidplayer tag which get from player_start return value
[in]audio_idtarget audio stream id, can find through media_info command
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

audio_id is audio stream index

Definition at line 604 of file player_ctrl.c.

Here is the call graph for this function:

int player_backward ( int  pid,
int  speed 
)

send fast backward command to player.

player_backward

Parameters:
[in]pidplayer tag which get from player_start return value
[in]speedfast backward step
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

After fb, player playback from a key frame

Definition at line 569 of file player_ctrl.c.

Here is the call graph for this function:

int player_cache_system_init ( int  enable,
const char *  dir,
int  max_size,
int  block_size 
)

player_cache_system_init

player_cache_system_init

Parameters:
[in]enable
[in]dir
[in]max_size
[in]block_size
Returns:
0;

Definition at line 1511 of file player_ctrl.c.

int player_enable_autobuffer ( int  pid,
int  enable 
)

enable/disable auto buffering

player_enable_autobuffer

Parameters:
[in]pidplayer tag which get from player_start return value
[in]enableenable/disable auto buffer function
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

if enable auto buffering, need set limit use player_set_autobuffer_level.

Definition at line 675 of file player_ctrl.c.

Here is the call graph for this function:

int player_exit ( int  pid)

release player resource

player_exit

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

player_exit must with pairs of player_play

Definition at line 330 of file player_ctrl.c.

Here is the call graph for this function:

int player_forward ( int  pid,
int  speed 
)

send fastforward command to player

player_forward

Parameters:
[in]pidplayer tag which get from player_start return value
[in]speedfast forward step
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

After ff, player playback from a key frame

Definition at line 535 of file player_ctrl.c.

Here is the call graph for this function:

unsigned int player_get_extern_priv ( int  pid)

get current player's unique identification

player_get_extern_priv

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
externed player's unique identification PLAYER_NOT_VALID_PID error,invalid pid

Definition at line 861 of file player_ctrl.c.

int64_t player_get_lpbufbuffedsize ( int  pid)

get player current lpbufbuffedsize

player_get_lpbufbuffedsize

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
plbuffedsize;

state defined in player_type.h

Definition at line 921 of file player_ctrl.c.

int player_get_media_info ( int  pid,
media_info_t minfo 
)

get file media information

player_get_media_info

Parameters:
[in]pidplayer tag which get from player_start return value
[out]minfomedia info structure pointer
Returns:
PLAYER_SUCCESS success PLAYER_NOT_VALID_PID error,invalid pid

get file media information, such as audio format, video format, etc.

Definition at line 980 of file player_ctrl.c.

Here is the call graph for this function:

int player_get_play_info ( int  pid,
player_info_t info 
)

get player's information

player_get_play_info

Parameters:
[in]pidplayer tag which get from player_start return value
[out]infoplay info structure pointer
Returns:
PLAYER_SUCCESS success PLAYER_NOT_VALID_PID error,invalid pid

get playing information,status, current_time, buferlevel etc.

Definition at line 893 of file player_ctrl.c.

player_status player_get_state ( int  pid)

get player current state

player_get_state

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
status player current status PLAYER_NOT_VALID_PID error,invalid pid

state defined in player_type.h

Definition at line 831 of file player_ctrl.c.

Referenced by player_get_media_info(), and player_send_message().

int64_t player_get_streambufbuffedsize ( int  pid)

get player current streambufbuffedsize

player_get_streambufbuffedsize

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
streambufbuffedsize;

state defined in player_type.h

Definition at line 949 of file player_ctrl.c.

int player_init ( void  )

Amlogic player initilization. Make sure call it once when setup amlogic player every time.

player_init

Parameters:
void
Returns:
PLAYER_SUCCESS success

register all formats and codecs; player id pool initilization; audio basic initilization; register support decoder(ts,es,rm,pure audio, pure video); keep last frame displaying for default; enable demux and set demux channel;

Definition at line 61 of file player_ctrl.c.

list all alived player pid

player_list_allpid

Parameters:
[out]pidpid list structure pointer
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

support multiple player threads, but only one threads use hardware decoder

Definition at line 1477 of file player_ctrl.c.

int player_loop ( int  pid)

send loop command to set loop play current file

player_loop

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

need set loop before stream play end

Definition at line 436 of file player_ctrl.c.

Here is the call graph for this function:

int player_noloop ( int  pid)

send noloop command to cancle loop play

player_noloop

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

need cancel loop before stream play end

Definition at line 469 of file player_ctrl.c.

Here is the call graph for this function:

int player_pause ( int  pid)

send pause command to player

player_pause

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

null

Definition at line 372 of file player_ctrl.c.

Here is the call graph for this function:

int player_progress_exit ( void  )

used for all exit,please only call at this process fatal error.

player_progress_exit

Returns:
PLAYER_SUCCESS success

Do not wait any things in this function

Definition at line 1455 of file player_ctrl.c.

int player_register_update_callback ( callback_t cb,
update_state_fun_t  up_fn,
int  interval_s 
)

App can register a update callback function into player.

player_register_update_callback

Parameters:
[in]cbcallback structure point
[in]up_fnupdate function
[in]interval_supdate interval (milliseconds)
Returns:
PLAYER_EMPTY_P invalid pointer PLAYER_ERROR_CALLBACK up_fn invalid PLAYER_SUCCESS success

used to update player status

Definition at line 804 of file player_ctrl.c.

int player_resume ( int  pid)

send resume command to player

player_resume

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

null

Definition at line 404 of file player_ctrl.c.

Here is the call graph for this function:

int player_send_message ( int  pid,
player_cmd_t *  cmd 
)

send message to player thread

player_send_message

Parameters:
[in]pidplayer tag which get from player_start return value
[in]cmdplayer control command
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

if player has exited, send message invalid

Definition at line 756 of file player_ctrl.c.

Referenced by player_aid(), player_backward(), player_enable_autobuffer(), player_forward(), player_loop(), player_noloop(), player_pause(), player_resume(), player_set_autobuffer_level(), player_sid(), and player_timesearch().

Here is the call graph for this function:

int player_set_autobuffer_level ( int  pid,
float  min,
float  middle,
float  max 
)

player_set_autobuffer_level

player_set_autobuffer_level

Parameters:
[in]pidplayer tag which get from player_start return value
[in]minbuffer min percent (less than min, enter buffering, av pause)
[in]middlebuffer middle percent(more than middler, exit buffering, av resume)
[in]maxbuffer max percent(more than max, do not feed data)
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

if buffer level low than min, player auto pause to buffer data, if buffer level high than middle, player auto reusme playback

Definition at line 713 of file player_ctrl.c.

Here is the call graph for this function:

int player_sid ( int  pid,
int  sub_id 
)

send switch subtitle id command to player

player_sid

Parameters:
[in]pidplayer tag which get from player_start return value
[in]sub_idtarget subtitle stream id, can find through media_info command
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

sub_id is subtitle stream index

Definition at line 640 of file player_ctrl.c.

Here is the call graph for this function:

int player_start ( play_control_t ctrl_p,
unsigned long  priv 
)

Amlogic player start to play a specified path streaming file.

player_start

Parameters:
[in]ctrl_pplayer control parameters structure pointer
[in]privPlayer unique identification
Returns:
pid current player tag

request id for current player; if not set displast_frame, or change file ,set black out; creat player thread for playback;

Definition at line 98 of file player_ctrl.c.

int player_start_play ( int  pid)

if need_start set 1, call player_start_play to start playback

player_start_play

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

if need_start set 0, no need call player_start_play

Definition at line 173 of file player_ctrl.c.

char* player_status2str ( player_status  status)

convert player state value to string

player_status2str

Parameters:
[in]statusplayer status
Returns:
player status details strings

Definition at line 1529 of file player_ctrl.c.

Referenced by player_value2str().

int player_stop ( int  pid)

send stop command to player (synchronous)

player_stop

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

if player already stop, return directly wait thread exit after send stop command

Definition at line 216 of file player_ctrl.c.

Referenced by player_exit().

int player_stop_async ( int  pid)

send stop command to player (asynchronous)

player_stop_async

Parameters:
[in]pidplayer tag which get from player_start return value
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

if player already stop, return directly needn't wait thread exit

Definition at line 277 of file player_ctrl.c.

int player_timesearch ( int  pid,
float  s_time 
)

seek to designated time point to play.

player_timesearch

Parameters:
[in]pidplayer tag which get from player_start return value
[in]s_timetarget time, unit is second
Returns:
PLAYER_NOT_VALID_PID playet tag invalid PLAYER_NOMEM alloc memory failed PLAYER_SUCCESS success

After time search, player playback from a key frame

Definition at line 502 of file player_ctrl.c.

Here is the call graph for this function:

char* player_value2str ( char *  key,
int  value 
)

convert player state value to string

player_value2str

Parameters:
[in]char*key valuetype key: status player status; vformat video format; aformat aduio format
[in]intvalue which need convert to string
Returns:
player status details strings

Definition at line 1734 of file player_ctrl.c.

Here is the call graph for this function:

int player_video_overlay_en ( unsigned  enable)

enable osd colorkey

player_video_overlay_en

Parameters:
[in]enableosd colorkey enable flag
Returns:
PLAYER_SUCCESS success PLAYER_FAILED failed

Definition at line 1034 of file player_ctrl.c.

Generated on Tue Dec 2 2014 21:55:18 for amplayerMy Project by   doxygen 1.7.6.1