DVBCore
1.0
Open source DVB engine
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2004 Ocean Blue Software Ltd 00004 * 00005 * This file is part of a DTVKit Software Component 00006 * You are permitted to copy, modify or distribute this file subject to the terms 00007 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00008 * 00009 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00010 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00011 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00012 * 00013 * If you or your organisation is not a member of DTVKit then you have access 00014 * to this source code outside of the terms of the licence agreement 00015 * and you are expected to delete this and any associated files immediately. 00016 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00017 *******************************************************************************/ 00024 // pre-processor mechanism so multiple inclusions don't cause compilation error 00025 00026 #ifndef _AP_PVR_H 00027 00028 #define _AP_PVR_H 00029 00030 //---macro definitions for this file------------------------------------------- 00031 00032 00033 //---Enumerations for public use----------------------------------------------- 00034 typedef enum e_pvr_play_status 00035 { 00036 PVR_PLAY_STATUS_NULL = 0, // X - no action 00037 PVR_PLAY_STATUS_STOP = 1, // . - stop 00038 PVR_PLAY_STATUS_PAUSE = 2, // || - pause 00039 PVR_PLAY_STATUS_SF = 3, // >| - slow forward 00040 PVR_PLAY_STATUS_SR = 4, // |< - slow reverse 00041 PVR_PLAY_STATUS_NORMAL = 5, // > - play 00042 PVR_PLAY_STATUS_FF = 6, // >> - fast forward 00043 PVR_PLAY_STATUS_FR = 7, // << - fast reverse 00044 PVR_PLAY_STATUS_QR = 8 // |<< - quick repeat 00045 } E_PVR_PLAY_STATUS; 00046 00047 typedef enum e_pvr_stop_type 00048 { 00049 PVR_STOP_REC_ONLY = 0, 00050 PVR_STOP_PLAY = 1, 00051 PVR_STOP_PAUSE = 2 00052 } E_PVR_STOP_TYPE; 00053 00054 //---Global type defs for public use------------------------------------------- 00055 00056 //---Global Function prototypes for public use--------------------------------- 00057 00062 BOOLEAN APVR_IsInitialised(void); 00063 00064 // ----play list---- 00065 00083 U16BIT APVR_GetPlayList(U32BIT **handle_list, U32BIT **name_list, U32BIT **rec_status_list, 00084 U32BIT **locked_list, U32BIT **selected_list, U32BIT **split_list); 00085 00094 void APVR_ReleasePlayList(U32BIT *handle_list, U32BIT *name_list, U32BIT *rec_status_list, 00095 U32BIT *locked_list, U32BIT *selected_list, U32BIT *split_list); 00096 00097 // ----playing---- 00098 00106 BOOLEAN APVR_PlayRecording(U32BIT recording_handle, BOOLEAN resume_playback); 00107 00112 U32BIT APVR_GetPlaybackHandle(void); 00113 00118 BOOLEAN APVR_IsPlaying(void); 00119 00129 BOOLEAN APVR_GetPlaybackElapsedTime(U32BIT handle, U8BIT *hours, U8BIT *mins, U8BIT *secs, U8BIT *progress); 00130 00135 void APVR_StopPlay(BOOLEAN return_to_live); 00136 00141 void APVR_NormalPlay(void); 00142 00146 void APVR_PausePlay(void); 00147 00154 void APVR_FFPlay(void); 00155 00162 void APVR_FRPlay(void); 00163 00168 E_PVR_PLAY_STATUS APVR_GetPlayMode(void); 00169 00175 S16BIT APVR_GetPlaySpeed(void); 00176 00177 // ---- recording ---- 00178 00188 U8BIT APVR_PrepareNewRecording(U16BIT onet_id, U16BIT trans_id, U16BIT service_id, BOOLEAN *new_tuned_service); 00189 00201 BOOLEAN APVR_StartNewRecording(U16BIT disk_id, U8BIT path, U8BIT *recording_name, U16BIT event_id, 00202 U8BIT *prog_crid, U8BIT *other_crid, U32BIT *rec_handle); 00203 00209 BOOLEAN APVR_StopRecording(U32BIT recording_handle); 00210 00218 U8BIT APVR_GetActiveRecordingList(U32BIT **handle_list); 00219 00224 void APVR_ReleaseActiveRecordingList(U32BIT *handle_list); 00225 00234 BOOLEAN APVR_GetPathRecordingName(U8BIT path, U32BIT *name_ptr); 00235 00243 BOOLEAN APVR_DeleteRecording(U32BIT handle); 00244 00252 void APVR_SetTimeshiftBufferSize(U16BIT time_in_mins); 00253 00261 U8BIT APVR_StartPauseRecord(void); 00262 00270 U8BIT APVR_StartPausePlay(void); 00271 00277 void APVR_StopPauseRecord(BOOLEAN return_to_live); 00278 00283 BOOLEAN APVR_IsRecordingInProgress(void); 00284 00292 BOOLEAN APVR_IsRecordingHandle(U8BIT path, U32BIT recording_handle); 00293 00301 BOOLEAN APVR_GetRecordingHandle(U8BIT path, U32BIT *recording_handle_ptr); 00302 00303 // ---- disk ---- 00308 U8BIT APVR_GetTotalSpacePercentUsed(U16BIT disk_id); 00309 00320 void APVR_GetDiskTime(U16BIT disk_id, U8BIT *used_hour_ptr, U8BIT *used_min_ptr, 00321 U8BIT *free_hour_ptr, U8BIT *free_min_ptr, 00322 U8BIT *size_hour_ptr, U8BIT *size_min_ptr); 00323 00331 void APVR_GetDiskMbyte(U16BIT disk_id, U32BIT *used_mbyte_ptr, U32BIT *free_mbyte_ptr, U32BIT *size_mbyte_ptr); 00332 00339 BOOLEAN APVR_CheckSpaceForEvent(U16BIT disk_id, void *event_ptr); 00340 00347 BOOLEAN APVR_CheckSpaceDuration(U16BIT disk_id, U32BIT duration); 00348 00356 BOOLEAN APVR_CheckSpaceForDuration(U16BIT disk_id, U8BIT hours, U8BIT mins); 00357 00358 // ---- pause ---- 00363 U32BIT APVR_GetPauseProgress(void); 00364 00369 U8BIT APVR_GetPlaybackPath(void); 00370 00376 BOOLEAN APVR_IsEventInRecordList(U8BIT *prog_crid); 00377 00385 void APVR_RecordSeries(void *crid_ptr, BOOLEAN radio_service); 00386 00394 void APVR_RecordRecommendations(void *crid_ptr, BOOLEAN radio_service); 00395 00403 BOOLEAN APVR_FindNextSplitEvent(U32BIT curr_handle, U32BIT *next_handle); 00404 00409 void APVR_EitUpdated(void); 00410 00418 void APVR_PidsUpdated(U8BIT path); 00419 00426 void* APVR_GetPlaybackService(void); 00427 00433 BOOLEAN APVR_HandlePrivateTimer(U32BIT timer_handle); 00434 00435 #ifdef COMMON_INTERFACE 00436 00443 void APVR_CIRecordReplyReceived(BOOLEAN start_succeeded, U8BIT slot_id); 00444 #endif 00445 00446 //---Global Function prototypes for internal use--------------------------------- 00450 void APVR_Initialise(void); 00451 00455 void APVR_Terminate(void); 00456 00461 BOOLEAN APVR_IsDecodingFile(void); 00462 00466 void APVR_SlowMoPlay(void); 00467 00468 // quick replay current playing recording 00469 void APVR_QRPlay(void); 00470 00471 // quick replay current playing recording 00472 void APVR_JTLPlay(void); 00473 00477 void APVR_TrickModeMuteOn(void); 00478 00482 void APVR_TrickModeMuteOff(void); 00483 00492 BOOLEAN APVR_DeleteAllSelectedRecordings(U32BIT *handles, U16BIT num_handles); 00493 00497 void APVR_UnselectAllRecordings(U32BIT *handles, U16BIT num_handles); 00498 00505 BOOLEAN APVR_AreSelectedRecordings(U32BIT *handles, U16BIT num_handles); 00506 00507 #endif // _AP_PVR_H