pjsip logo pjsip.org
Open source SIP stack and media stack for presence, im/instant messaging, and multimedia communication
Loading

HOME

SIP/media Features
High Performance SIP
Small Footprint SIP
Symbian Port

FAQ

Documentation

Licensing

Download

Development (Trac)

Projects using pjsip

Mailing List

Open Source Links


About: PJLIB, PJLIB-UTIL, PJSIP, and PJMEDIA are created by: Benny Prijono
<bennylp@pjsip.org>


 

Home --> Documentations --> PJMEDIA Reference

WAV File Player
[Media Ports Framework]

Audio playback from WAV file.

Enumerations

enum  pjmedia_file_player_option { PJMEDIA_FILE_NO_LOOP = 1 }

Functions

pj_status_t pjmedia_wav_player_port_create (pj_pool_t *pool, const char *filename, unsigned ptime, unsigned flags, pj_ssize_t buff_size, pjmedia_port **p_port)
pj_ssize_t pjmedia_wav_player_get_len (pjmedia_port *port)
pj_status_t pjmedia_wav_player_port_set_pos (pjmedia_port *port, pj_uint32_t offset)
pj_ssize_t pjmedia_wav_player_port_get_pos (pjmedia_port *port)
pj_status_t pjmedia_wav_player_set_eof_cb (pjmedia_port *port, void *user_data, pj_status_t(*cb)(pjmedia_port *port, void *usr_data))

Enumeration Type Documentation

WAV file player options.

Enumerator:
PJMEDIA_FILE_NO_LOOP 

Tell the file player to return NULL frame when the whole file has been played.


Function Documentation

pj_status_t pjmedia_wav_player_port_create ( pj_pool_t pool,
const char *  filename,
unsigned  ptime,
unsigned  flags,
pj_ssize_t  buff_size,
pjmedia_port **  p_port 
)

Create a media port to play streams from a WAV file. WAV player port supports for reading WAV file with uncompressed 16 bit PCM format or compressed G.711 A-law/U-law format.

Parameters:
pool Pool to create memory buffers for this port.
filename File name to open.
ptime The duration (in miliseconds) of each frame read from this port. If the value is zero, the default duration (20ms) will be used.
flags Port creation flags.
buff_size Buffer size to be allocated. If the value is zero or negative, the port will use default buffer size (which is about 4KB).
p_port Pointer to receive the file port instance.
Returns:
PJ_SUCCESS on success.
pj_ssize_t pjmedia_wav_player_get_len ( pjmedia_port port  ) 

Get the data length, in bytes.

Parameters:
port The file player port.
Returns:
The length of the data, in bytes. Upon error it will return negative value.
pj_status_t pjmedia_wav_player_port_set_pos ( pjmedia_port port,
pj_uint32_t  offset 
)

Set the file play position of WAV player.

Parameters:
port The file player port.
offset Playback position in bytes, relative to the start of the payload.
Returns:
PJ_SUCCESS on success.
pj_ssize_t pjmedia_wav_player_port_get_pos ( pjmedia_port port  ) 

Get the file play position of WAV player.

Parameters:
port The file player port.
Returns:
PJ_SUCCESS on success.
pj_status_t pjmedia_wav_player_set_eof_cb ( pjmedia_port port,
void *  user_data,
pj_status_t(*)(pjmedia_port *port, void *usr_data)  cb 
)

Register a callback to be called when the file reading has reached the end of file. If the file is set to play repeatedly, then the callback will be called multiple times. Note that only one callback can be registered for each file port.

Parameters:
port The file player port.
user_data User data to be specified in the callback
cb Callback to be called. If the callback returns non- PJ_SUCCESS, the playback will stop. Note that if application destroys the file port in the callback, it must return non-PJ_SUCCESS here.
Returns:
PJ_SUCCESS on success.

 


PJMEDIA small footprint Open Source media stack
Copyright (C) 2006-2008 Teluu Inc.