Group PJMEDIA_FILE_PLAY¶
- group PJMEDIA_FILE_PLAY
Video and audio playback from AVI file.
Audio playback from WAV file.
Typedefs
-
typedef pjmedia_port pjmedia_avi_stream¶
AVI stream data type.
-
typedef struct pjmedia_avi_streams pjmedia_avi_streams¶
Opaque data type for AVI streams. AVI streams is a collection of zero or more AVI stream.
Enums
Functions
-
pj_status_t pjmedia_avi_player_create_streams(pj_pool_t *pool, const char *filename, unsigned flags, pjmedia_avi_streams **p_streams)¶
Create avi streams to play an AVI file. AVI player supports reading AVI file with uncompressed video format and 16 bit PCM or compressed G.711 A-law/U-law audio format.
- Parameters
pool – Pool to create the streams.
filename – File name to open.
flags – Avi streams creation flags.
p_streams – Pointer to receive the avi streams instance.
- Returns
PJ_SUCCESS on success.
-
unsigned pjmedia_avi_streams_get_num_streams(pjmedia_avi_streams *streams)¶
Get the number of AVI stream.
- Parameters
streams – The AVI streams.
- Returns
The number of AVI stream.
-
pjmedia_avi_stream *pjmedia_avi_streams_get_stream(pjmedia_avi_streams *streams, unsigned idx)¶
Return the idx-th stream of the AVI streams.
- Parameters
streams – The AVI streams.
idx – The stream index.
- Returns
The AVI stream or NULL if it does not exist.
-
pjmedia_avi_stream *pjmedia_avi_streams_get_stream_by_media(pjmedia_avi_streams *streams, unsigned start_idx, pjmedia_type media_type)¶
Return an AVI stream with a certain media type from the AVI streams.
- Parameters
streams – The AVI streams.
start_idx – The starting index.
media_type – The media type of the stream.
- Returns
The AVI stream or NULL if it does not exist.
-
pjmedia_port *pjmedia_avi_stream_get_port(pjmedia_avi_stream *stream)¶
Return the media port of an AVI stream.
- Parameters
stream – The AVI stream.
- Returns
The media port.
-
pj_ssize_t pjmedia_avi_stream_get_len(pjmedia_avi_stream *stream)¶
Get the data length, in bytes.
- Parameters
stream – The AVI stream.
- Returns
The length of the data, in bytes. Upon error it will return negative value.
-
pj_status_t pjmedia_avi_stream_set_eof_cb(pjmedia_avi_stream *stream, void *user_data, pj_status_t (*cb)(pjmedia_avi_stream *stream, void *usr_data))¶
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 AVI stream.
- Parameters
stream – The AVI stream.
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.
-
pj_status_t pjmedia_avi_stream_set_eof_cb2(pjmedia_avi_stream *stream, void *user_data, void (*cb)(pjmedia_avi_stream *stream, void *usr_data))¶
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 AVI stream.
- Parameters
stream – The AVI stream.
user_data – User data to be specified in the callback
cb – Callback to be called. Note that if application wishes to stop the playback, it can disconnect the port in the callback, and only after all connections have been removed could the application safely destroy the port.
- Returns
PJ_SUCCESS on success.
-
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_status_t pjmedia_wav_player_get_info(pjmedia_port *port, pjmedia_wav_player_info *i)¶
Get additional info about the file player.
- Parameters
port – The file port.
i – The info.
- Returns
PJ_SUCCESS on success or the appropriate error code.
-
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. On error, the error code is given as 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, in bytes.
- Parameters
port – The file player port.
- Returns
The current play position, in bytes. On error, the error code is given as negative value.
-
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))¶
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.
-
pj_status_t pjmedia_wav_player_set_eof_cb2(pjmedia_port *port, void *user_data, void (*cb)(pjmedia_port *port, void *usr_data))¶
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. Note that if application wishes to stop the playback, it can disconnect the port in the callback, and only after all connections have been removed could the application safely destroy the port.
- Returns
PJ_SUCCESS on success.
-
struct pjmedia_wav_player_info¶
- #include <wav_port.h>
Additional information about the WAV player.
-
typedef pjmedia_port pjmedia_avi_stream¶