HbbTv  17.9.0
Open source HBBTV engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
hbbtv_sif_pvr.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2014 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
26 /* pre-processor mechanism so multiple inclusions don't cause compilation error*/
27 
28 #ifndef _HBBTV_SIF_PVR_H
29 
30 #define _HBBTV_SIF_PVR_H
31 
32 #include "hbbtv_sif_service.h"
33 
34 
35 /*---Constant and macro definitions for public use-----------------------------*/
36 
37 /*---Enumerations for public use-----------------------------------------------*/
38 
39 typedef enum
40 {
41  HBBTV_RECPLAYER_NO_ERROR = -1, /* no error */
42  HBBTV_RECPLAYER_FORMAT_NOT_SUPPORTED = 0, /* 0 - A/V format not supported */
43  HBBTV_RECPLAYER_UNDEFINED = 2, /* 2 - unidentified error */
44  HBBTV_RECPLAYER_NO_RESOURCES, /* 3 – insufficient resources */
45  HBBTV_RECPLAYER_CORRUPT, /* 4 – content corrupt or invalid */
46  HBBTV_RECPLAYER_NOT_AVAILABLE, /* 5 – content not available */
47  HBBTV_RECPLAYER_NOT_AVAILABLE_POSITION, /* 6 – content not available at given position */
48  HBBTV_RECPLAYER_BLOCKED /* 7 - content blocked due to parental control */
49 } E_HBBTV_RECPLAYER_ERROR;
50 
51 
52 /*---Global type defs for public use-------------------------------------------*/
53 
54 typedef struct
55 {
56  U32BIT timer_id;
57  U32BIT start_time;
58  U32BIT duration;
59  S_HBBTV_STRING description;
60  S_HBBTV_STRING name;
61  U32BIT parental_rating;
62  U16BIT lcn;
63  S32BIT start_padding;
64  S32BIT end_padding;
66 
67 typedef struct
68 {
69  U32BIT recording_id;
70  U32BIT recording_start_time;
71  U32BIT recording_duration;
72  BOOLEAN in_progress;
73  U32BIT sched_start_time;
74  U32BIT sched_duration;
75  S_HBBTV_STRING description;
76  S_HBBTV_STRING name;
77  U32BIT parental_rating;
78  U16BIT lcn;
79  S32BIT start_padding;
80  S32BIT end_padding;
82 
83 
84 /*---Global Function prototypes for public use---------------------------------*/
85 
102 E_HBBTV_ERR HBBTV_PVRRecordCRID(S_HBBTV_STRING *crid, S_HBBTV_STRING *fqdn, U16BIT *service_lcn,
103  U32BIT *id);
104 
120 E_HBBTV_ERR HBBTV_PVRRecordEventID(U16BIT event_id, U16BIT service_lcn, S_HBBTV_STRING *fqdn,
121  U32BIT *id);
122 
150 E_HBBTV_ERR HBBTV_PVRRecordAt(U16BIT service_lcn, U32BIT start_time, U32BIT duration,
151  U8BIT repeat_days, S_HBBTV_STRING *fqdn, S_HBBTV_EVENT_DETAILS *details, U32BIT *id);
152 
162 E_HBBTV_ERR HBBTV_PVRGetRecordingId(U32BIT scheduled_recording_id, U32BIT *recording_id);
163 
170 E_HBBTV_ERR HBBTV_PVRStopRecording(U32BIT recording_id);
171 
180 E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingName(U32BIT id, S_HBBTV_STRING *name);
181 
190 E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingDescription(U32BIT id, S_HBBTV_STRING *description);
191 
205 E_HBBTV_ERR HBBTV_PVRGetScheduledRecordingDetails(U32BIT id,
207 
215 
232 E_HBBTV_ERR HBBTV_PVRGetScheduledRecordingList(S_HBBTV_STRING *fqdn, U32BIT *num_ptr,
234 
242 
255 E_HBBTV_ERR HBBTV_PVRRemoveScheduledRecording(U32BIT id, S_HBBTV_STRING *fqdn);
256 
265 E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingStartPadding(U32BIT id, S32BIT start_padding);
266 
275 E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingEndPadding(U32BIT id, S32BIT end_padding);
276 
288 E_HBBTV_ERR HBBTV_PVRGetRecordingDetails(U32BIT id, S_HBBTV_RECORDING_DETAILS *details);
289 
296 
313 E_HBBTV_ERR HBBTV_PVRGetRecordingList(S_HBBTV_STRING *fqdn, U32BIT *num_ptr,
314  S_HBBTV_RECORDING_DETAILS **list_ptr);
315 
323 
334 E_HBBTV_ERR HBBTV_PVRPlayInit(U32BIT recording_id, void **handle);
335 
343 E_HBBTV_ERR HBBTV_PVRPlayExit(void *handle);
344 
353 E_HBBTV_ERR HBBTV_PVRPlayStart(void *handle);
354 
362 E_HBBTV_ERR HBBTV_PVRPlayStop(void *handle);
363 
371 E_HBBTV_ERR HBBTV_PVRPlayPause(void *handle);
372 
380 E_HBBTV_ERR HBBTV_PVRPlayResume(void *handle);
381 
390 E_HBBTV_ERR HBBTV_PVRPlaySeek(void *handle, U32BIT position);
391 
400 E_HBBTV_ERR HBBTV_PVRPlayGetPosition(void *handle, U32BIT *position);
401 
410 E_HBBTV_ERR HBBTV_PVRPlayGetLength(void *handle, U32BIT *length);
411 
425 E_HBBTV_ERR HBBTV_PVRPlayGetComponentList(void *handle, E_HBBTV_COMPONENT_TYPE type,
426  U32BIT *num_ptr,
427  S_HBBTV_COMPONENT_DETAILS **list_ptr);
428 
439 
450 E_HBBTV_ERR HBBTV_PVRPlaySelectComponent(void *handle,
451  S_HBBTV_COMPONENT_DETAILS *component);
452 
462 E_HBBTV_ERR HBBTV_PVRPlayUnselectComponent(void *handle,
463  S_HBBTV_COMPONENT_DETAILS *component);
464 
474 E_HBBTV_ERR HBBTV_PVRPlaySetRectangle(void *handle, S_HBBTV_RECT *rect);
475 
481 E_HBBTV_RECPLAYER_ERROR HBBTV_PVRPlayGetError(void *handle);
482 
489 
490 #endif /* _HBBTV_SIF_PVR_H */
E_HBBTV_ERR HBBTV_PVRGetRecordingId(U32BIT scheduled_recording_id, U32BIT *recording_id)
Returns the recording ID (as in S_HBBTV_RECORDING_DETAILS) for an in progress scheduled recording rep...
E_HBBTV_ERR HBBTV_PVRPlayPause(void *handle)
Pauses the PVR player.
void HBBTV_PVRReleaseRecordingList(U32BIT num, S_HBBTV_RECORDING_DETAILS *list)
Release data allocated by HBBTV_PVRGetRecordingList (e.g. String data). Always called immediately aft...
E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingDescription(U32BIT id, S_HBBTV_STRING *description)
Sets the description for the specified scheduled recording.
E_HBBTV_ERR HBBTV_PVRRecordAt(U16BIT service_lcn, U32BIT start_time, U32BIT duration, U8BIT repeat_days, S_HBBTV_STRING *fqdn, S_HBBTV_EVENT_DETAILS *details, U32BIT *id)
Schedules a recording based on start time and duration.
Definition: hbbtv_sif_pvr.h:67
E_HBBTV_ERR HBBTV_PVRRecordEventID(U16BIT event_id, U16BIT service_lcn, S_HBBTV_STRING *fqdn, U32BIT *id)
Schedules an event to be recorded, the event is identified by its ID and the service LCN...
void HBBTV_PVRReleaseRecordingDetails(S_HBBTV_RECORDING_DETAILS *details)
Release data allocated by HBBTV_PVRGetRecordingDetails (e.g. String data). Always called immediately ...
E_HBBTV_ERR HBBTV_PVRStopRecording(U32BIT recording_id)
Stops an in progress recording.
E_HBBTV_ERR HBBTV_PVRPlaySelectComponent(void *handle, S_HBBTV_COMPONENT_DETAILS *component)
Replace any component of the same type with the specified one. If the component_tag field is set to -...
E_HBBTV_ERR HBBTV_PVRPlayGetComponentList(void *handle, E_HBBTV_COMPONENT_TYPE type, U32BIT *num_ptr, S_HBBTV_COMPONENT_DETAILS **list_ptr)
Retrieves the list of available components in the recording. Provided HBBTV_OK is returned...
void HBBTV_PVRReleaseScheduledRecordingDetails(S_HBBTV_SCHEDULED_RECORDING_DETAILS *details)
Release data allocated by HBBTV_PVRGetScheduledRecordingDetails (e.g. String data). Always called immediately after the HbbTV engine has copied data.
E_HBBTV_ERR HBBTV_PVRPlaySetRectangle(void *handle, S_HBBTV_RECT *rect)
Changes position and size of the video presentation window.
Definition: hbbtv_types.h:173
E_HBBTV_ERR HBBTV_PVRPlayInit(U32BIT recording_id, void **handle)
Initialises an instance of PVR player for the specified recording id and returns its handle...
Definition: hbbtv_sif_types.h:64
E_HBBTV_ERR HBBTV_PVRPlayStart(void *handle)
Starts the presentatio of the specified PVR player.
E_HBBTV_ERR HBBTV_PVRPlayStop(void *handle)
Stops the presentation of the specified PVR player.
E_HBBTV_ERR HBBTV_PVRPlaySeek(void *handle, U32BIT position)
Changes the position of the PVR player.
System Interface, Service.
void HBBTV_PVRPlayReleaseComponentList(void *handle, S_HBBTV_COMPONENT_DETAILS *list_ptr)
Release data allocated by HBBTV_PVRPlayGetComponentList. Always called immediately after the HbbTV en...
E_HBBTV_ERR HBBTV_PVRRecordCRID(S_HBBTV_STRING *crid, S_HBBTV_STRING *fqdn, U16BIT *service_lcn, U32BIT *id)
Schedules an event to be recorded.
Definition: hbbtv_sif_pvr.h:54
E_HBBTV_ERR HBBTV_PVRGetScheduledRecordingDetails(U32BIT id, S_HBBTV_SCHEDULED_RECORDING_DETAILS *details)
Retrieves the details of the scheduled recording identified by 'id'. Provided HBBTV_OK is returned...
BOOLEAN HBBTV_PVRIsStorageDeviceAvailable(void)
Retrieves the PVR storage device availability status.
E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingName(U32BIT id, S_HBBTV_STRING *name)
Sets the name for the specified scheduled recording.
E_HBBTV_RECPLAYER_ERROR HBBTV_PVRPlayGetError(void *handle)
Retrieves the error code from the PVR player.
void HBBTV_PVRReleaseScheduledRecordingList(U32BIT num, S_HBBTV_SCHEDULED_RECORDING_DETAILS *list)
Release data allocated by HBBTV_PVRGetScheduledRecordingList (e.g. String data). Always called immedi...
E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingEndPadding(U32BIT id, S32BIT end_padding)
Changes the end padding value for the specified scheduled recording.
E_HBBTV_ERR HBBTV_PVRPlayGetLength(void *handle, U32BIT *length)
Returns the length of the recording.
E_HBBTV_ERR HBBTV_PVRPlayUnselectComponent(void *handle, S_HBBTV_COMPONENT_DETAILS *component)
Stops rendering the specified component. If the component_tag field is set to -1, any component with ...
E_HBBTV_ERR HBBTV_PVRGetRecordingDetails(U32BIT id, S_HBBTV_RECORDING_DETAILS *details)
Retrieves the details of the recording identified by 'id'. Provided HBBTV_OK is returned, the HbbTV engine will call HBBTV_PVRReleaseRecordingDetails to release allocated data on the same task immediately after it has copied the data.
E_HBBTV_ERR HBBTV_PVRPlayResume(void *handle)
Resumes the PVR player.
Definition: hbbtv_types.h:167
E_HBBTV_ERR HBBTV_PVRSetScheduledRecordingStartPadding(U32BIT id, S32BIT start_padding)
Changes the start padding value for the specified scheduled recording.
E_HBBTV_ERR HBBTV_PVRPlayGetPosition(void *handle, U32BIT *position)
Returns the current position in the recording.
E_HBBTV_ERR HBBTV_PVRRemoveScheduledRecording(U32BIT id, S_HBBTV_STRING *fqdn)
Removes a scheduled recording created with HBBTV_PVRRecordCRID or HBBTV_PVRRecordAt.
E_HBBTV_ERR HBBTV_PVRPlayExit(void *handle)
Releases the specified instance of PVR playe.
E_HBBTV_ERR HBBTV_PVRGetScheduledRecordingList(S_HBBTV_STRING *fqdn, U32BIT *num_ptr, S_HBBTV_SCHEDULED_RECORDING_DETAILS **list_ptr)
Retrieves the list of recordingins scheduled with the given Full Qualified Domain Name...
Definition: hbbtv_sif_service.h:75
E_HBBTV_ERR HBBTV_PVRGetRecordingList(S_HBBTV_STRING *fqdn, U32BIT *num_ptr, S_HBBTV_RECORDING_DETAILS **list_ptr)
Retrieves the list of recordings completed or in progress with the given Fully Qualified Domain Name...