dvr: adjust file & add note [1/1]
PD#SWPL-18817
Problem:
New feature
Solution:
add playback api
Verify:
Android Q + AC214
Change-Id: I2719bb0fd6021a387f6b12ca1ae7b35d247ca635
Signed-off-by: hualing chen <hualing.chen@amlogic.com>
diff --git a/include/dvr_playback.h b/include/dvr_playback.h
index d8a3c2b..848c0a1 100644
--- a/include/dvr_playback.h
+++ b/include/dvr_playback.h
@@ -9,11 +9,14 @@
#include "dvr_types.h"
#include "segment.h"
#include "playback_device.h"
+#include "dvr_types.h"
+#include "dvr_crypto.h"
+
#ifdef __cplusplus
extern "C" {
#endif
-/**\brief dvr play chunk flag */
+/**\brief dvr play segment flag */
typedef enum
{
DVR_PLAYBACK_SEGMENT_ENCRYPTED = (1 << 0), /**< encrypted stream */
@@ -44,8 +47,9 @@
{
struct list_head head; /**< Segment node.*/
int segment_id; /**< Segment's index.*/
+ uint8_t location[DVR_MAX_LOCATION_SIZE]; /**< chunk location */
DVR_PlaybackPids_t pids; /**< Streams' PIDs.*/
- DVR_PlaybackChunkFlag_t flags; /**< Segment's flag */
+ DVR_PlaybackSegmentFlag_t flags; /**< Segment's flag */
int key_data_id; /**< ??? */
} DVR_PlaybackSegmentInfo_t;
@@ -101,7 +105,7 @@
DVR_PlaybackPlayState_t state; /**< playback play state */
int segment_id; /**< playback ongoing segment index */
int time_cur; /**< playback cur time,0 <--> time_end Ms*/
- int time_end; /**< playback ongoing chunk dur,Ms */
+ int time_end; /**< playback ongoing segment dur,Ms */
DVR_PlaybackPids_t pids; /**< playback played pids */
Playback_DeviceSpeeds_t speed; /**< playback speed */
DVR_PlaybackSegmentFlag_t flags;/**< playback played segment flag */
@@ -113,7 +117,7 @@
int dmx_dev_id; /**< playback used dmx device index*/
int block_size; /**< playback inject block size*/
DVR_Bool_t is_timeshift; /**< 0:playback mode, 1 : is timeshift mode*/
- PlaybackDeviceHandle_t playback_handle; /**< Playback device handle.*/
+ Playback_DeviceHandle_t playback_handle; /**< Playback device handle.*/
DVR_CryptoFunction_t crypto_fn; /**< Crypto function.*/
void *crypto_data; /**< Crypto function's user data.*/
} DVR_PlaybackOpenParams_t;
@@ -121,60 +125,59 @@
/**\brief playback play state*/
typedef enum
{
- DVR_PlayBack_Cmd_Start, /**< start av */
- DVR_PlayBack_Cmd_Stop, /**< stop av */
- DVR_PlayBack_Cmd_VStart, /**< v start */
- DVR_PlayBack_Cmd_AStart, /**< a start */
- DVR_PlayBack_Cmd_VStop, /**< v stop */
- DVR_PlayBack_Cmd_AStop, /**< a stop */
- DVR_PlayBack_Cmd_VReStart, /**<v restart */
- DVR_PlayBack_Cmd_AReStart, /**< a restart */
- DVR_PlayBack_Cmd_VStopAStart, /**< v stop a start*/
- DVR_PlayBack_Cmd_AStopVStart, /**< a stop vstart */
- DVR_PlayBack_Cmd_VStopAReStart, /**<v stop a restart*/
- DVR_PlayBack_Cmd_AStopVReStart, /**<a stop v restart*/
- DVR_PlayBack_Cmd_Pause, /**< pause */
- DVR_PlayBack_Cmd_Resume, /**< resume */
- DVR_PlayBack_Cmd_Seek, /**< seek */
- DVR_PlayBack_Cmd_FF, /**< fast forward */
- DVR_PlayBack_Cmd_FB, /**< fast backword */
-} DVR_PlayBackCmd_t;
+ DVR_PLAYBACK_CMD_START, /**< start av */
+ DVR_PLAYBACK_CMD_STOP, /**< stop av */
+ DVR_PLAYBACK_CMD_VSTART, /**< v start */
+ DVR_PLAYBACK_CMD_ASTART , /**< a start */
+ DVR_PLAYBACK_CMD_VSTOP , /**< v stop */
+ DVR_PLAYBACK_CMD_ASTOP, /**< a stop */
+ DVR_PLAYBACK_CMD_VRESTART, /**< v restart */
+ DVR_PLAYBACK_CMD_ARESTART, /**< a restart */
+ DVR_PLAYBACK_CMD_VSTOPASTART, /**< v stop a start*/
+ DVR_PLAYBACK_CMD_ASTOPVSTART, /**< a stop vstart */
+ DVR_PLAYBACK_CMD_VSTOPARESTART, /**<v stop a restart*/
+ DVR_PLAYBACK_CMD_ASTOPVRESTART, /**<a stop v restart*/
+ DVR_PLAYBACK_CMD_PAUSE, /**< pause */
+ DVR_PLAYBACK_CMD_RESUME, /**< resume */
+ DVR_PLAYBACK_CMD_SEEK, /**< seek */
+ DVR_PLAYBACK_CMD_FF, /**< fast forward */
+ DVR_PLAYBACK_CMD_FB, /**< fast backword */
+} DVR_PlaybackCmd_t;
/**\brief playback struct*/
typedef struct
{
- PlayBack_DeviceSpeeds_t speed; /**< play speed */
- DVR_PlayBackPlayState_t state; /**< plat state */
- DVR_PlayBackCmd_t cur_cmd; /**< cur send cmd */
- DVR_PlayBackCmd_t last_cmd; /**< last cmd */
- int pos; /**< seek pos at cur chunk*/
-} DVR_PlayBackCmdInfo_t;
+ Playback_DeviceSpeeds_t speed; /**< play speed */
+ DVR_PlaybackPlayState_t state; /**< plat state */
+ DVR_PlaybackCmd_t cur_cmd; /**< cur send cmd */
+ DVR_PlaybackCmd_t last_cmd; /**< last cmd */
+ int pos; /**< seek pos at cur segment*/
+} DVR_PlaybackCmdInfo_t;
/**\brief playback struct*/
typedef struct
{
- PlayBack_DeviceHandle_t handle; /**< device handle */
- int cur_chunkid; /**< Current chunk id*/
- DVR_PlayBackChunkInfo_t cur_chunk; /**< Current playing chunk*/
- struct list_head chunk_list; /**< chunk list head*/
- pthread_t playback_thread; /**< playback thread*/
- pthread_mutex_t lock; /**< playback lock*/
- pthread_cond_t cond; /**< playback cond*/
- void *user_data; /**< playback userdata, used to send event*/
- DVR_PlayBackPlayParams_t params; /**< playback playparams,cont vpid vfm apid afmt...*/
- PlayBack_DeviceSpeeds_t speed; /**< playback speed*/
- DVR_PlayBackPlayState_t state; /**< playback state*/
- DVR_PlayBackFlag_t play_flag; /**< playback play flag*/
+ Playback_DeviceHandle_t handle; /**< device handle */
+ int cur_segment_id; /**< Current segment id*/
+ DVR_PlaybackSegmentInfo_t cur_segment; /**< Current playing segment*/
+ struct list_head segment_list; /**< segment list head*/
+ pthread_t playback_thread; /**< playback thread*/
+ pthread_mutex_t lock; /**< playback lock*/
+ pthread_cond_t cond; /**< playback cond*/
+ void *user_data; /**< playback userdata, used to send event*/
+ Playback_DeviceSpeeds_t speed; /**< playback speed*/
+ DVR_PlaybackPlayState_t state; /**< playback state*/
+ DVR_PlaybackFlag_t play_flag; /**< playback play flag*/
int is_running; /**< playback htread is runing*/
- DVR_PlayBackCmdInfo_t cmd; /**< playback cmd*/
- int offset; /**< chunk read offset*/
+ DVR_PlaybackCmdInfo_t cmd; /**< playback cmd*/
+ int offset; /**< segment read offset*/
Segment_Handle_t r_handle; /**< playback current segment handle*/
- DVR_PlayBackOpenParams_t openParams; /**< playback openParams*/
+ DVR_PlaybackOpenParams_t openParams; /**< playback openParams*/
DVR_Bool_t has_video; /**< has video playing*/
DVR_Bool_t has_audio; /**< has audio playing*/
-} Dvr_PlayBack_t;
+} DVR_Playback_t;
/**\brief Open an dvr palyback
* \param[out] p_handle dvr playback addr
@@ -200,41 +203,41 @@
*/
int dvr_playback_start(DVR_PlaybackHandle_t handle, DVR_PlaybackFlag_t flag);
-/**\brief dvr play back add chunk info to chunk list
+/**\brief dvr play back add segment info to segment list
* \param[in] handle playback handle
- * \param[in] info added chunk info,con vpid fmt apid fmt.....
+ * \param[in] info added segment info,con vpid fmt apid fmt.....
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_add_chunk(DVR_PlayBackHandle_t handle, DVR_PlayBackChunkInfo_t *info);
+int dvr_playback_add_segment(DVR_PlaybackHandle_t handle, DVR_PlaybackSegmentInfo_t *info);
-/**\brief dvr play back remove chunk info by chunkid
+/**\brief dvr play back remove segment info by segmentkid
* \param[in] handle playback handle
- * \param[in] chunkid need removed chunk id
+ * \param[in] segmentid need removed segment id
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_remove_chunk(DVR_PlayBackHandle_t handle, int chunkid);
+int dvr_playback_remove_segment(DVR_PlaybackHandle_t handle, int segmentkid);
-/**\brief dvr play back add chunk info
+/**\brief dvr play back add segment info
* \param[in] handle playback handle
- * \param[in] info added chunk info,con vpid fmt apid fmt.....
+ * \param[in] info added segment info,con vpid fmt apid fmt.....
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_Update_Chunk_Flags(DVR_PlayBackHandle_t handle,
- int chunk_id,
- DVR_PlayBackChunkFlag_t flags);
-/**\brief dvr play back up1date chunk pids
- * if updated chunk is ongoing chunk, we need start new
+int dvr_playback_update_segment_flags(DVR_PlaybackHandle_t handle,
+ int segment_id,
+ DVR_PlaybackSegmentFlag_t flags);
+/**\brief dvr play back up1date segment pids
+ * if updated segment is ongoing segment, we need start new
* add pid stream and stop remove pid stream.
* \param[in] handle playback handle
- * \param[in] chunk_id need updated pids chunk id
+ * \param[in] segment_id need updated pids segment id
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_Update_Chunk_Pids(DVR_PlayBackHandle_t handle, int chunkid,
-DVR_PlayBackPids_t *p_pids);
+int dvr_playback_update_segment_pids(DVR_PlaybackHandle_t handle, int segmentid,
+DVR_PlaybackPids_t *p_pids);
/**\brief Stop play, will stop video and audio
* \param[in] handle playback handle
@@ -242,7 +245,7 @@
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_stop(DVR_PlayBackHandle_t handle, DVR_Bool_t clear);
+int dvr_playback_stop(DVR_PlaybackHandle_t handle, DVR_Bool_t clear);
/**\brief Start play audio
* \param[in] handle playback handle
@@ -250,14 +253,14 @@
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_audio_start(DVR_PlayBackHandle_t handle, PlayBack_DeviceAudioParams_t *param);
+int dvr_playback_audio_start(DVR_PlaybackHandle_t handle, Playback_DeviceAudioParams_t *param);
/**\brief Stop play audio
* \param[in] handle playback handle
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_audio_stop(DVR_PlayBackHandle_t handle);
+int dvr_playback_audio_stop(DVR_PlaybackHandle_t handle);
/**\brief Start play video
* \param[in] handle playback handle
@@ -265,14 +268,14 @@
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_video_start(DVR_PlayBackHandle_t handle, PlayBack_DeviceVideoParams_t *param);
+int dvr_playback_video_start(DVR_PlaybackHandle_t handle, Playback_DeviceVideoParams_t *param);
/**\brief Stop play video
* \param[in] handle playback handle
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_video_stop(DVR_PlayBackHandle_t handle);
+int dvr_playback_video_stop(DVR_PlaybackHandle_t handle);
/**\brief Pause play
* \param[in] handle playback handle
@@ -280,16 +283,16 @@
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_pause(DVR_PlayBackHandle_t handle, DVR_Bool_t flush);
+int dvr_playback_pause(DVR_PlaybackHandle_t handle, DVR_Bool_t flush);
/**\brief seek
* \param[in] handle playback handle
- * \param[in] time_offset time offset base cur chunk
+ * \param[in] time_offset time offset base cur segment
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_seek(DVR_PlayBackHandle_t handle, int chunk_id, int time_offset);
+int dvr_playback_seek(DVR_PlaybackHandle_t handle, int segment_id, int time_offset);
/**\brief Set play speed
* \param[in] handle playback handle
@@ -297,7 +300,7 @@
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_set_speed(DVR_PlayBackHandle_t handle, PlayBack_DeviceSpeeds_t speed);
+int dvr_playback_set_speed(DVR_PlaybackHandle_t handle, Playback_DeviceSpeeds_t speed);
/**\brief Get playback status
* \param[in] handle playback handle
@@ -305,22 +308,22 @@
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_get_status(DVR_PlayBackHandle_t handle, DVR_PlayBackStatus_t *p_status);
+int dvr_playback_get_status(DVR_PlaybackHandle_t handle, DVR_PlaybackStatus_t *p_status);
/**\brief Get playback capabilities
* \param[out] p_capability playback capability
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_playback_get_capabilities(DVR_PlayBackCapability_t *p_capability);
+int dvr_playback_get_capabilities(DVR_PlaybackCapability_t *p_capability);
-/**\brief dump chunkinfo throw print log
+/**\brief dump segmentinfo throw print log
* \param[int] handle playback
- * \param[int] chunk_id if chunk_id > 0, only dump this log. else dump all chunk info
+ * \param[int] segment_id if segment_id > 0, only dump this log. else dump all segment info
* \retval DVR_SUCCESS On success
* \return Error code
*/
-int dvr_dump_chunkinfo(DVR_PlayBackHandle_t handle, int chunk_id);
+int dvr_dump_segmentinfo(DVR_PlaybackHandle_t handle, int segment_id);
#ifdef __cplusplus
}