You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
105 lines
5.6 KiB
105 lines
5.6 KiB
/*
|
|
* Copyright (c) Hisilicon Technologies Co., Ltd. 2009-2019. All rights reserved.
|
|
* Description: Defines avplay control api
|
|
* Author: Hisilicon
|
|
* Create: 2009-12-21
|
|
* History:
|
|
*/
|
|
#ifndef __AVPLAY_CONTROL_H__
|
|
#define __AVPLAY_CONTROL_H__
|
|
|
|
#include "mpi_avplay_ext.h"
|
|
#include "avplay_context.h"
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
#endif
|
|
|
|
td_bool avplay_ctrl_event_registered(const avplay_context *ctx, avplay_notify_event_type event);
|
|
td_s32 avplay_ctrl_event_report(const avplay_context *ctx, avplay_notify_event_type event,
|
|
const void *param, td_u32 param_size, td_bool sync);
|
|
td_s32 avplay_check_stream_attr(const uapi_avplay_attr *attr);
|
|
td_s32 avplay_ctrl_set_state(avplay_context *ctx, uapi_avplay_status state);
|
|
|
|
td_s32 avplay_ctrl_start(avplay_context *ctx, uapi_avplay_media_chan chn);
|
|
td_s32 avplay_ctrl_stop(avplay_context *ctx, uapi_avplay_media_chan chn, const uapi_avplay_stop_opt *option);
|
|
td_s32 avplay_ctrl_prestart(avplay_context *ctx, uapi_avplay_media_chan chn);
|
|
td_s32 avplay_ctrl_tplay(avplay_context *ctx, const uapi_avplay_tplay_opt *option);
|
|
td_s32 avplay_ctrl_resume(avplay_context *ctx);
|
|
td_s32 avplay_ctrl_pause(avplay_context *ctx);
|
|
td_s32 avplay_ctrl_reset(avplay_context *ctx, uapi_avplay_media_chan chan, const uapi_avplay_reset_opt *option);
|
|
|
|
td_s32 avplay_ctrl_open_channel(avplay_context *ctx, uapi_avplay_media_chan chn, const void *param);
|
|
td_s32 avplay_ctrl_close_channel(avplay_context *ctx, uapi_avplay_media_chan chn);
|
|
td_s32 avplay_ctrl_set_attr(avplay_context *ctx, uapi_avplay_attr_id attr_id, const void *param);
|
|
td_s32 avplay_ctrl_get_attr(const avplay_context *ctx, uapi_avplay_attr_id attr_id, void *param);
|
|
td_s32 avplay_ctrl_decode_iframe(avplay_context *ctx, const uapi_avplay_iframe_info *frame,
|
|
uapi_video_frame_info *out);
|
|
td_s32 avplay_ctrl_release_iframe(avplay_context *ctx, uapi_video_frame_info *frame);
|
|
td_s32 avplay_ctrl_set_vcodec_mode(avplay_context *ctx, uapi_vdec_work_mode mode);
|
|
td_s32 avplay_ctrl_register_event(avplay_context *ctx, uapi_avplay_event_type event,
|
|
uapi_avplay_event_callback_fn callback);
|
|
td_s32 avplay_ctrl_unregister_event(avplay_context *ctx, uapi_avplay_event_type event);
|
|
|
|
td_s32 avplay_ctrl_getbuf(avplay_context *ctx, uapi_avplay_buf_id buf_id,
|
|
td_u32 req_len, uapi_stream_buf *buf, td_u32 timeout_ms);
|
|
td_s32 avplay_ctrl_putbuf(avplay_context *ctx, uapi_avplay_buf_id buf_id,
|
|
td_u32 len, td_s64 pts, const uapi_avplay_put_buf_opt *option);
|
|
|
|
td_s32 avplay_ctrl_step(avplay_context *ctx, const uapi_avplay_step_opt *opt);
|
|
td_s32 avplay_ctrl_attach_window(avplay_context *ctx, td_handle window);
|
|
td_s32 avplay_ctrl_detach_window(avplay_context *ctx, td_handle window);
|
|
td_s32 avplay_ctrl_attach_track(avplay_context *ctx, td_handle track);
|
|
td_s32 avplay_ctrl_detach_track(avplay_context *ctx, td_handle track);
|
|
|
|
td_s32 avplay_ctrl_attach_snd(avplay_context *ctx, td_handle snd);
|
|
td_s32 avplay_ctrl_detach_snd(avplay_context *ctx, td_handle snd);
|
|
td_s32 avplay_ctrl_attach_render(avplay_context *ctx, td_handle render);
|
|
td_s32 avplay_ctrl_dettach_render(avplay_context *ctx, td_handle render);
|
|
|
|
td_s32 avplay_ctrl_get_status_info(avplay_context *ctx, uapi_avplay_status_type type, td_void *info);
|
|
td_s32 avplay_ctrl_get_stream_info(avplay_context *ctx, uapi_avplay_stream_info *stream_info);
|
|
td_s32 avplay_ctrl_get_aud_spectrum(avplay_context *ctx, td_u16 *spectrum, td_u32 band_num);
|
|
td_s32 avplay_ctrl_switch_to_external_audio(avplay_context *ctx, td_bool external_aud);
|
|
td_s32 avplay_ctrl_switch_aud_dmx(avplay_context *ctx, td_handle new_dmx, td_handle *old_dmx);
|
|
|
|
td_s32 avplay_ctrl_acq_user_data(const avplay_context *ctx, uapi_video_userdata_type type,
|
|
uapi_video_userdata *data);
|
|
td_s32 avplay_ctrl_rls_user_data(const avplay_context *ctx, uapi_video_userdata_type type,
|
|
const uapi_video_userdata *data);
|
|
|
|
td_s32 avplay_ctrl_set_hdr_info(avplay_context *ctx, const uapi_hdr_info *hdr, uapi_avplay_hdr_opt *opt);
|
|
td_s32 avplay_ctrl_get_hdr_info(const avplay_context *ctx, uapi_hdr_info *hdr);
|
|
td_s32 avplay_ctrl_flush_stream(avplay_context *ctx, const uapi_avplay_flush_stream_opt *opt);
|
|
td_s32 avplay_ctrl_is_buffer_empty(const avplay_context *ctx, td_bool *is_empty);
|
|
td_s32 avplay_ctrl_is_support_random_stream(const avplay_context *ctx, td_bool *support);
|
|
|
|
td_s32 avplay_ctrl_get_dmx_handle(const avplay_context *ctx, uapi_avplay_demux_handle_type id, td_handle *dmx);
|
|
td_s32 avplay_ctrl_set_framebuffer_mode(avplay_context *ctx, ext_avplay_framebuffer_mode mode);
|
|
td_s32 avplay_ctrl_set_external_framebuffer(const avplay_context *ctx,
|
|
const ext_avplay_framebuffer_info *fb, td_u32 cnt);
|
|
td_s32 avplay_ctrl_unset_external_framebuffer(const avplay_context *ctx,
|
|
const ext_avplay_framebuffer_info *fb, td_u32 cnt);
|
|
|
|
td_s32 avplay_ctrl_stc_calibration(const avplay_context *ctx, td_s32 stc_ppm);
|
|
td_s32 avplay_ctrl_set_disp_ctrl(const avplay_context *ctx, td_bool is_stream_continuos,
|
|
const uapi_avplay_tplay_opt *option);
|
|
td_s32 avplay_ctrl_set_session_info(avplay_context *ctx, const uapi_avplay_session_info *info);
|
|
|
|
td_s32 avplay_ctrl_get_aud_status(avplay_context *ctx, uapi_avplay_aud_chan_status *status);
|
|
td_s32 avplay_ctrl_get_snd_handle(const avplay_context *ctx, td_handle *snd);
|
|
td_s32 avplay_ctrl_get_win_handle(const avplay_context *ctx, td_handle *win);
|
|
|
|
td_s32 avplay_get_aud_dmx_buffer_status(const avplay_aud_ctx *aud, uapi_avplay_buf_status *status);
|
|
|
|
td_s32 avplay_ctrl_invoke(avplay_context *ctx, uapi_avplay_invoke_type invoke_type, void *param);
|
|
|
|
#ifdef __cplusplus
|
|
#if __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
#endif |