Home
OpenMAX AL Digital TV
Contents
1. e XA_RESULT_SUCCESS XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED Comments GetContents XAresult GetContents XADTVProgramGuideQueryItf self XAuint32 servicelID XAuint32 pNumberOfContents XAuint32 pContents Description Gets content IDs matching the filter given by ANDContentFilter Pre None conditions Parameters Self in Interface self reference serviceID in Service whose contents programs usually are queried If zero no filtering based on service is used GetContents pNumberOfContents in out As an input specifies the length of the pContents array As an output specifies the number of content IDs currently available in the system and the length of the valid positions in the returned array Returns 0 if no content IDs are available in the system pContents out Array of content IDs Return value e XA_RESULT_SUCCESS e XA_RESULT_PARAMET e XA_RESULT_BUFFE ER_INVALID The return value can be one of the following R_INSUFFICIENT Comments array The caller of this method is responsible for allocating the pContents GetContentStringAttrib XAresult GetContentStringAttrib XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 stringAttribute XAuint32 pSt
2. Comments None SetCacheLength XAresult SetCacheLength XADTVPlayerTimeShiftControlItf self XAboolean ringBuffer XAuint32 pBufferSize Description Sets the size of the time shift buffer This is a hint from the application and the actual size may vary depending on the implementation The actual size of the buffer created is returned upon successful completion Pre conditions None Parameters self in Interface self reference ringBuffer in Set to TRUE creates a buffer which will overwrite information when full If set to FALSE the time shifting will end when the buffer is full unless a new buffer is allocated pBufferSize in out As an in parameter the size of the buffer as requested by the application in bytes When the call returns this parameter holds the actual allocated size of the buffer in bytes Return value The return value can be one of the following e XA_RESULT_SUCCESS Comments None GetCacheLength XAresult GetCacheLength XADTVPlayerTimeShiftControlItf self XAuint32 pBufferSize XAboolean pRingbuffer Description Retrieves the size of the time shift buffer Pre conditions None Parameters self in Interface self reference pBufferSize out Returns the size of the time shift buffer in bytes GetCacheLength
3. Value Description XA_DTV_BEARER_TECHNOLOGY_BROADCAST Broadcast oriented bearer XA_DTV_BEARER_TECHNOLOGY_UNICAST Unicast oriented bearer XA_DTV_BEARER_TECHNOLOGY_MULTICAST Multicast oriented bearer XA_DTV_BEARER_TECHNOLOGY_LOCAL Local delivery within the device itself This could be delivery by a local file for example a recording 8 2 10 XA DTV_BEARER_TYPE define XA_DTV_BEARER_TYPE_TERRESTRIAL XAuint32 0x00000000 define XA_DTV_BEARER_TYPE_CABLE XAuint32 0x00000001 define XA_DTV_BEARER_TYPE_HANDHELD XAuint32 0x00000002 define XA_DTV_BEARER_TYPE_ SATELLITE XAuint32 0x00000003 define XA_DTV_BEARER_TYPE_SATELLITE_HANDHELD XAuint32 0x00000004 define XA_DTV_BEARER_TYPE_INTERNET XAuint32 0x00000005 define XA_DTV_BEARER_TYPE_FILE XAuint32 0x00000006 Value Description XA_DTV_BEARER_TYPE_TERRESTRIAL Terrestrial bearer type XA_DTV_BEARER_TYPE_CABLE Cable based bearer type XA_DTV_BEARER_TYPE_HANDHELD Handheld oriented bearer type XA_DTV_BEARER_TYPE_SATELLITE Satellite bearer type XA_DTV_BEARER_TYPE_SATELLITE_HANDHELD Satellite handheld bearer type XA_DTV_BEARER_TYPE_INTERNE Internet bearer type XA_DTV_BEARER_TYPE_FILE File bearer type 8 2 11 XA_DTV_CONTENT_ PROTECTION define XA_DTV_CONTENT_PROTECTION_MISSING_RIGHTS XAuint32 0x00000001 define XA_DTV_CONTENT_PROTECTION_EXPIRED_RIGHTS XAuint32 0x00000002 Va lue Description XA_DTV_CONTENT_P
4. e XA RESULT_PARAMETER_INVALID Comments The Digital TV implementation is not mandated to support any of the capabilities See Also SetEnable XAresult SetEnable XADTVPlayerTimedObjectsItf self XAuint32 EnableHint Description Enables rendering of the timed text or object track if any associated with the player _ Pre Existing media track associated with the player and with relevant conditions information to render Parameters self in Interface self reference EnableHint in Bitmask that defines what device rendering functionality to enable or disable This parameter is allowed to be zero If the application wants to let the Digital TV implementation render everything it is capable of supply the XA_DTV_PLAYER_TIMED_OBJECTS_ALL value in this parameter See the XA_DTV_PLAYER_TIMED_OBJECTS macro for more information Return value Comments The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID The Digital TV implementation is not mandated to support any of the capabilities See Also GetCapabilities xaDTVTimedObjectsCallback GetEnable XAresult XADTVPlayerTimedObjectsItf self XAuint32 pEnableHint GetEnable Description Gets the current enabled rendering setting
5. XA_DTV_PLAYER_TIMED_OBJECTS_HTML The device is capable of rendering HTML based timed objects XA_DTV_PLAYER_TIMED_OBJECTS_ALL Let the device render all the timed object types it is capable of rendering XA_DTV_PLAYER_TIMED_OBJECTS_NONE Don t render any timed objects or no timed objects rendering available 8 2 16 XA_DTV_RECORDER_MODE define XA_DTV_RECORDER_MODE_ALL_STREAMS XAuint32 0x00000001 define XA_DTV_RECORDER_MODE_ACTIVE_STREAMS XAuint32 0x00000002 Va lue Description XA_DTV_RECORDER_MODE_ALL_STREAMS No alterations of streams are performed The file delivery carousel all audio and video tracks and all the timed text is saved XA_DTV_RECORDER_MODE_ACTIVE_STREAMS Save only the selected streams to disk 8 2 17 XA_DTV_SERVICE_FILE_DL_PROGRESS define XA_DTV_SERVICE_FILE_DL_PROGRESS_ DOWNLOADING XAuint32 0x00000001 define XA_DTV_SERVICE_FILE_DL_PROGRESS_ FINISHED XAuint32 0x00000002 define XA_DTV_SERVICE_FILE_DL_PROGRESS ABORTED XAuint32 0x00000003 Value Description XA_DTV_SERVICE_FILE DL PROGRESS _ DOWNLOADING The file is in progress of being delivered XA_DTV_SERVICE_FILE DL PROGRESS _ FINISHED The delivery of the file has finished XA_DTV_SERVICE_FILE_DL_PROGRESS_ABORTED The delivery of the file was aborted
6. The xXASeekiItf is different and will return xA_RESULT_FEATURE_UNSUPPORTED if time shift is not active but the interface will work as normal if time shift is active Seeking while time shift is not active is not possible Mandated Interfaces All the mandated interfaces on the standard player object See the OpenMAX AL Specification XADynamicSourceSinkChangeltf See the OpenMAX AL Specification XADTVPlayerTimeShiftControlltf See section 7 3 XADTVContentProtectionItf See section 7 1 Applicable Optional Interfaces XAConfigExtensionsltf See the OpenMAX AL Specification XADTVPlayerTimedObjectsitf See section 7 2 6 3 Program Guide Manager Object Description This object represents the Electronic Program Guide EPG for the Digital TV extension The object contains the interfaces to set up and retrieve information query the program guide associated with a DTV source This object is not mandated Mandated Interfaces XAObjectitf See the OpenMAX AL Specification XADynamicl nterfaceManagementitf See the OpenMAX AL Specification XADTVProgramGuideUpdatel tf See section 7 6 XADTVProgramGuidePurchaseltf See section 7 4 XADTVProgramGuideQueryltf See section 7 5 Applicable Optional Interfaces XAConfigExtensionsltf See the OpenMAX AL Specification 6 4 Recorder Object Description The Recorder object is a standard OpenMAX AL media recorder object which has been extended with a
7. Field Description up until now BufferSecondsUsed The amount data in seconds currently used in the time shift buffer BufferSecondsAvailable An estimate of the amount of seconds more that will fit in the time shift buffer 8 1 9 XADTVSourceBearerInfo typedef struct XADTVSourceBearerInfo_ XAuint32 bearerld XAchar bearerName 256 XAuint32 bearerTechnology XAuint32 bearerFamily XAuint32 bearerType XAuint32 bearerVersion XAboolean bearerLocked XADTVSourceBearer nfo Field Description bearerld The bearer ID associated with this bearer information bearerName The NULL terminated name of this bearer bearerTechnol The bearer technology associated with this bearer See the ogy XA_DTV_BEARER_TECHNOLOGY macros for more information bearerFamily The bearer family associated with this bearer See the XA_DTV_BEARER_FAMILY macros for more information bearerType The bearer type associated with this bearer See the XA_DTV_BEARER_TYPE macros for more information bearerVersion The version of the bearer This indicates for example that the bearer is a DVB T2 bearer The technology family and type are the same as for DVB T bearerLocked Indicates whether the specified bearer is locked to a specific service provider or platform Such bearers might have limitations associated with the tuning 8 1 10 XADTVSourceScaninfo
8. Pre None conditions Parameters self in Interface self reference bearerID in The ID of the Bearer powerState in Designator for the power state of the bearer See the XA_DTV_BEARER_STATE macros for details Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_UNSUPPORTED Comments xA_RESULT_UNSUPPORTED is returned if the IDLE state is not supported when trying to set it E See Also GetBearerState GetSignalStrength XAresult GetSignalStrength XADTVSourceUtilitiesItf self XAuint32 bearerID XApermille SignalStrength Description Returns the current signal strength of a tuned bearer For local bearers the signal strength is always 100 Pre None conditions Parameters self in Interface self reference bearerID in The ID of the Bearer pSignalStrength out The indicated signal strength Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA RESULT PRECONDITIONS VIOLATED Hardware not enabled or not tuned Comments A tuned bearer is a bearer that has been tuned using a ScanInfo to actively set the tuner to a specific frequency or resource GetNetworkTime XAresult
9. Pre None conditions Parameters self in Interface self reference pFileDescriptor in The file descriptor associated with the file to abort the ongoing download Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMET ER_INVALID Comments See Also xaDTVServiceFileDownloadProgressCallback RegisterServiceFileDescriptionCallback XAresult RegisterServiceFileDescriptionCallback XADTVServiceDataDeliveryItf self xaDTVServiceFileDescriptionCallback Callback void pContext Description Sets the callback for service file description event notifications Pre conditions None Parameters self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None See Also xaDTVServiceFileDescriptionCallback RegisterServiceFileDownloadProgressCallback XAresult RegisterServiceFileDownloadProgressCallback XADTVServiceDataDeliveryItf self xaDTVServiceFileDownloadProgressCallback Callback void pContext Description Sets the callback method to receive
10. 8 2 18 XA_DTV_SERVICE FILE DESCRIPTION define XA_DTV_SERVICE_FILE_DESCRIPTION NEW XAuint32 0x00000001 define XA_DTV_SERVICE_FILE_DESCRIPTION_UPDATED XAuint32 0x00000002 define XA_DTV_SERVICE_FILE_DESCRIPTION REMOVED XAuint32 0x00000003 Value Description XA_DTV_SERVICE_FILE_DESCRIPTION_NEW A new file descriptor arrived in the stream XA_DTV_SERVICE_FILE_DESCRIPTION_UPDATED A current file descriptor was updated XA_DTV_SERVICE_FILE_DESCRIPTION_REMOVED A previous file descriptor was removed 8 2 19 XA_DTV_SERVICE_ TYPE define XA_D define XA_D define XA_D define XA_D define XA_D define XA_D V_SERVICE_TYPE_BASIC_RADIO XAuint32 0x00000002 V_SERVICE_TYPE_BASIC_TV XAuint32 0x00000001 V_SERVICE_TYPE_CACHECAST XAuint32 0x00000004 V_SERVICE_TYPE_FILE_DOWNLOAD XAuint32 0x00000005 V_SERVICE_TYPE_RESERVED1 XAuint32 0x00000003 V_SERVICE_TYPE_UNSPECIFIED XAuint32 0x00000000 The macros are defined for service type Value Description XA_DTV_SERVICE_TYPE_BASIC_RADIO Basic radio XA_DTV_SERVICE_TYPE_BASIC_TV Basic TV XA_DTV_SERVICE_TYPE_PODCAST A way to broadcast episodic programs These podcasts
11. Value Description XA_DTV_UNICAST_CONNECTION_STAT E_CONNE CTE Identifies the connected state for a unicast bearer XA TV_UNICAS _CONNECTION_STA E_CONNE CTE EIVING Same as the connected state but receiving data XA_ TV_UNICAS _CONNECTION_STA E_DISCONNE CTE Identifies the disconnected state for the unicast bearer 8 2 22 define XA_DTV_UNICAST_ define XA_DTV_UNICAST_ ECHNO ECHNO OGY_RT OGY_HT XA_DTV_UNICAST_TECHNOLOGY SP XAuint32 0x00000001 TP XAuint32 0x00000002 The macros are defined to identify supported unicast technologies Value Description XA_DTV_UNICAST_TECHNOLOGY_RTSP Identifies the RTSP unicast technology H XA_DTV_UNICAST_TECHNOLOGY_HTTP Identifies the HTTP unicast technology Part 3 Appendices Appendix A References OpenMAX AL The OpenMAX AL 1 1 Specification Khronos January 18 2011 RFC2326 Real Time Streaming Protocol RTSP RFC 2326 IETF 1998 RFC3376 Internet Group Management Protocol RFC 3376 IETF 2002 MBMS Multimedia Broadcast and Multicast Services MBMS Wikipedia page with links to several 3GPP specifications defining MBMS 3GPP 2004 2009 DVB H DVB H specification ETSI EN 302 304 V1 1 1 2004
12. XA_DTV_MULTICAST_CONNECTION_STATE_CONNECTED_RECEIVING Identifies the connected state for the multicast bearer The bearer receives data XA_DTV_MULTICAST_CONNECTION_STATE_DISCONNECTED Indicates that the bearer is disconnected 8 2 14 XA_DTV_MULTICAST_TECHNOLOGY define XA_DTV_MULTICAST_TECHNOLOGY_IPTV XAuint32 0x00000001 define XA_DTV_MULTICAST_TECHNOLOGY_MBMS XAuint32 0x00000002 The macros are defined to identify supported multicast technologies Value Description XA_DTV_MULTICAST_TECHNOLOGY_IPTV Identifies the IGMP IPTV multicast technology XA_DTV_MULTICAST_TECHNOLOGY_MBMS Identifies the MBMS multicast technology 8 2 15 XA_DTV_PLAYER_TIMED_OBj ECTS define XA_DTV_PLAYER_TIMED_OBJECTS_TEXT XAuint32 0x00000001 define XA_DTV_PLAYER_TIMED_OBJECTS_ GRAPHICS XAuint32 0x00000002 define XA_DTV_PLAYER_TIMED_OBJECTS_HTML XAuint32 0x00000004 define XA_DTV_PLAYER_TIMED_OBJECTS_ALL XAuint32 OxFFFFFFFF define XA_DTV_PLAYER_TIMED_OBJECTS NONE XAuint32 0x00000000 Va lue Description XA_ DTV_PLAYER_TIMED_OBJECTS_TEXT The device is capable of rendering Text based timed objects XA DTV_PLAYER_TIMED_OBJECTS_GRAPHICS The device is capable of rendering graphical timed objects
13. pConnectionData The implementation specific connection data This data is only used as an input for the service to pass on to the DTVSource object The data in this parameter might vary depending on bearer type used This data is not meant to be parsed by the application 8 1 7 typedef struct XADTVServiceDataDeliveryFileDescriptor_ XAchar pFileName XAuint32 Version XAuint32 FileLength XAchar pMIMEType XADTVServiceDataDeliveryFileDescriptor XADTVServiceDataDeliveryFileDescriptor Field Description pFileName The filename of the file Version The version number of the file FileLength The length of the file in bytes pMIMEType The associated MIME type of the file 8 1 8 XADTVServiceTimeShiftinfo typedef struct XADTVServiceTimeShiftInfo_ XAtime DataStartTime XAtime DataEndTime XAuint32 BufferBytesUsed XAuint32 BufferBytesAvailable XAuint32 BufferSecondsUsed XAuint32 BufferSecondsAvailable XADTVServiceTimeShiftInfo This structure is used for reporting time shift information Field Description DataStartTime The system timestamp for the start of the data in the time shift buffer DataEndTime The system timestamp for the end of the data in the time shift buffer BufferBytesUsed How many bytes that have been utilized of the time shift buffer up until now BufferBytesAvailable How many bytes that are available in the time shift buffer
14. Description Gets the connection state and status for a multicast bearer Pre conditions None Parameters self in Interface self reference bearerID in Identifies a multicast bearer as returned by the JoinMulticastGroup pState out The connection state as defined by the XA_DTV_MULTICAST_CONNECTION_STATE macros GetMulticastBearerConnectionState Return value The return value can be one of the following XA_RE XA_RE SUL SUL _SUCC __PARAI ESS KT ER_INVALID Comments 7 13 XADTVSourceUnicastitf Description This interface represents bearers that rely on IP unicast delivery Examples of such bearers are RTSP or HTTP transmissions This interface holds methods specific to the unicast family This interface is a mandated interface on the DTVSource See section 0 object If one bearer technology is supported all other bearer technology interfaces XADTVSourceBroadcastItf XADTVSourceLocalItf XADTVSourceMulticastItf and XADTVSourceUnicastItf are optional to support Prototype XA_API extern const XAInterfaceID XA_IID_ DTVSOURCEUNICAST struct XADTVSourceUnicastItf _ typedef const struct XADTVSourceUnicastIt f const XADTVSourceUnicastItf struct XADTVSourceUnicastItf_ XAResult QuerySupportedUnicastTechnologies XADTVSourceUnicastItf self XAuint32 pNumberOfTechnologies XAuint
15. Used by GetServices method Pre conditions Parameters Return value None Self in Interface self reference stringAttribute in The string attribute to reset The return value can be one of the following ESULT_SUCCESS _PARA XA_R SUL KT XA_RE ER_INVALID Comments ResetServiceFilterl nt XAre sult ResetServiceFilterInt XADTVProgramGuideQueryItf self XAuint32 intAttribute Description Resets an existing integer filtering Match is positive when the given intAttribute equals with the given attribute s value Used by GetServices method Pre conditions None Parameters Self in Interface self reference intAttribute in The integer attribute to reset ResetServiceFilterlI nt Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments ResetContentFilterString XAresult ResetContentFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute Description Resets an existing string filtering Match is positive when the given stringAttribute is found as a substring in the given attribute s value Used by GetContents method Pre None conditions Parameters Self in Interface self reference stringAttribute in
16. XAresult GetBearerState XADTVSourceUtilitiesItf self XAuint32 bearerID XAuint32 powerState XAresult QueryInternetConnections XADTVSourceUtilitiesItf self XAuint32 pNumberOfInternetConnections XADTVInternetConnectionInfo pInternetConnections XAresult RegisterBearerChangeCallback XADTVSourceUtilitiesItf self xaDTVSourceBearerChangeCallback Callback void pContext Interface ID 362515a0 c463 11de 8a39 0800200c9a66 Callbacks xaDTVSourceBearerChangeCallback typedef void XAAPIENTRY xaDTVSourceBearerChangeCallback XADTVSourceUtilitiesItf Caller XAuint32 bearerID XAuint32 changeType void pContext Description Notifies the application that a bearer has been added or removed or that the bearer state has changed Parameters Caller in Interface on which this callback was registered bearerID in Identifies the bearer for which the state changed changeType in Identifies the type of change that occurred on the bearer See the XA_DTV_SOURCE_BEARER_CHANGE macro for more information pcontext in User context data that is supplied when the callback method is registered Comments None See Also Methods GetNumberAvailableStaticBearers XAresult GetNumberAvailableStaticBearers XADTVSourceUtilitiesItf self XAuint32 pNumberOfStaticBearers XAuint32 pBearerID
17. pRingbuffer out Returns whether the buffer is a ring buffer or not Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None GetMaximumCacheLength XAresult GetCacheLength XADTVPlayerTimeShiftControlItf self XAuint32 pMaxSize Description Retrieves the maximum size the time shift buffer can have Pre conditions None Parameters self in Interface self reference pMaxSize out After a successful call this parameter holds the maximum size the time shift buffer can have GetMaximumCacheLength Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None SetEnabled XAresult SetEnabled XADTVPlayerTimeShiftControlItf self XAboolean Enable Description Enables or disables the time shift buffer The time shift buffer is automatically utilized when enabled and the service is connected to any bearer Pre conditions None Parameters Self in Interface self reference Enable in Enables or disables the time shift functionality Return value The return value can be one of the following e XA_RESULT_SUCCESS Comments None IsEnabled X
18. 02 PLAYER ODE OT a hea ved deen ba ae Ae ea 30 6 3 PROGRAM GUIDE MANAGER OBJECT 0ccceeceeeeeeeeeeeeeeeaeeeeeaeeeecaeetecaeeesgueetsages 31 0 4 RECORDER OBJECT ironie eolia aad evasteee dias d eurde ieee iene tag sta ebeadiaats E aE ia 200 32 6 5 SERVICE OB EC Tacs csideceiaisier cael venice tah Pauw a Ata cette eeiau katana tele secede oi tnea tase ts 33 7 INTERFACE DEFINITIONS 34 7 1 XADTVCONTENTPROTECTIONITE paea aidin eee eee ee eee eee ee teeta eee teat eee nae eae nana 35 7 2 XADTVPLAYERTIMEDOBJECTSITE cccccccecceeeeceeeeeceeeeeaeeeeeaeeeeeaeeeesaeetegneeeeaaes 37 7 3 XADTVPLAYERTIMESHIFTCONTROLITF 20 eece eee ee eects eee eee e ee eee eee e eee ee eae nae naenaes 42 7 4 XADTVPROGRAMGUIDEPURCHASEI TF 20ceeceee eee e nets eee eee teeta eee teat eae naeeaenaenaes 48 7 5 XADTVPROGRAMGUIDEQUERYITF 2 ecceee cette eee eee ee eee teens teeta teat eae eae eae eae nas 50 7 6 XADTVPROGRAMGUIDEUPDATEI TF 2 20 ece cece eee ee teens eee eee e ee eee eee e eee ee sean nae eaenaes 71 TT EXKADIMRECORDERMODEUTH ere ea dents ae rete teitudeds A E EAA A A E ERa A 80 7 8 XADTVSERVICEDATADELIVERYITE 2 ecceee cece eee ee eee e ene eee ee teeta eee teat nae naeeaenaes 83 7 9 XADTVSERVICEINPUTSELECTORI TF 20ceee cece eee ee eee eee eee eee teeta teeta teat aai ah 91 7 10 XADTVSOURCEBROADCASTITFy srik iia aa a Valine leery ha e 94 7 11 XADTVS OURCELOGAEI TF orasini iiun aien a aaa ira mera Ea a aerate 101 7 12
19. COypenMAX AL OpenMAX AL Digital TV Extension Application Programming Interface Provisional Specification Copyright 2011 The Khronos Group Inc January 18 2011 Copyright 2011 The Khronos Group Inc All Rights Reserved This specification is protected by copyright laws and contains material proprietary to the Khronos Group Inc It or any components may not be reproduced republished distributed transmitted displayed broadcast or otherwise exploited in any manner without the express prior written permission of the Khronos Group You may use this specification for implementing the functionality therein without altering or removing any trademark copyright or other notice from the specification but the receipt or possession of this specification does not convey any rights to reproduce disclose or distribute its contents or to manufacture use or sell anything that it may describe in whole or in part Khronos Group grants express permission to any current Promoter Contributor or Adopter member of Khronos to copy and redistribute UNMODIFIED versions of this specification in any fashion provided that NO CHARGE is made for the specification and the latest available update of the specification for any version of the API is used whenever possible Such distributed specification may be reformatted AS LONG AS the contents of the specification are not changed in any way The specification may be incorporated into a product
20. Examples of such bearers are regular IGMP Multicast IPTV or MBMS transmissions This interface holds methods specific to the multicast family This interface is a mandated interface on the DTVSource See section 0 object If one bearer technology is supported all other bearer technology interfaces XADTVSourceBroadcastiItf XADTVSourceLocalliItf XADTVSourceMulticastItf and XADTVSourceUnicastItf are optional to support Prototype XA_API extern const XAInterfaceID XA_IID_ DTVSOURCEMULTICAST struct XADTVSourceMulticastItf_ typedef const struct XADTVSourceMulticastItf const XADTVSourceMulticastItf struct XADTVSourceMulticastItf_ XAResult QuerySupportedMulticastTechnologies XADTVSourceMulticastItf self XAuint32 pNumberOfTechnologies XAuint32 pTechnologies XAResult JoinMulticastGroup XADTVSourceMulticastItf self XADTVMulticastGroupInfo pMulticastGroupInfo XAuint32 pBearerID XAResult LeaveMulticastGroup XADTVSourceMulticastItf self XAuint32 bearerID XAresult GetMulticastBearerConnectionState XADTVSourceMulticastiItf self XAuint32 bearerID XAuint32 pState XAresult RegisterMulticastConnectionStateChangedCallback XADTVSourceMulticastItf self xaDTVMulticastConnectionStateChangedCallback Callback void pContext Interface ID 69558c98 cea5 48e7 88df 6bc1b12cde52 Callbacks xaDTVMulticastConnectionStateChangedCallback typedef void X
21. GetNetworkTime XADTVSourceUtilitiesItf self XAuint32 bearerID XAtime pTime Description Returns the network time for the specified bearer If the specified bearer does not have any kind of network time reference the current system time is returned instead Pre None conditions Parameters self in Interface self reference bearerID in The ID of the bearer pTime out The network time associated with the specified bearer Return value The return value can be one of the following _SUCCESS __PARAMETER_INVALID e XA RESUL e XA RESUL DITIONS_VIOLATED Hardware not enabled e XA_RESULT_PRECO or not tuned Comments None GetBearerState XAresult GetBearerState XADTVSourceUtilitiesItf self XAuint32 bearerID XAuint32 powerState Description Gets the power state of the specified bearer ondio mone Parameters self in Interface self reference bearerID in The ID of the Bearer powerState out Designator for the power state of the bearer See the XA_DTV_BEARER_STATE macros for details The return value can be one of the following _SUCCESS __PARAMETER_INVALID Return value e XA_RESUL e XA RESUL Query nternetConnections XAresult QueryInternetConnections XADTVSourceUtilit
22. typedef struct XADTVSourceScanInfo_ XAuint32 bearerld XAchar pScanName XAuint32 scanNameLength XAboolean singleService Xachar pMultiplexMIMEType Xauint32 multiplexMIMETypeLength void pBearerSpecificScanData XADTVSourceScanInfo Field Description bearerld The bearer ID associated with this scan info pScanName The plaintext name of this scan info Could be set to channel name platform provider name or any other description of this specific scan info scanNameLength The length of the pScanName parameter singleService pMultiplexMIMEType multiplexMIMETypeLengt h This member parameter indicates if the scan info represents a single service or a complete set of multiple services for instance a DVB H platform The MIME type identifying the multiplex type This field could be empty if MIME type could not be identified during scan The length of the pMultiplexMI METype character array pBearerS pecificScanData A pointer to the bearer specific data needed for the specified bearer to tune to this service at a later point in time The data in the returned struct can be used in the SetScanInfo method to select the service Depending on the type of bearer this struct can contain information such as platform ID for DVB H a plain frequency for ISDB T or any other bearer specific tune data For bearers containing a large multiplex with many services on one frequency this dat
23. Interface self reference bearerID in The ID of the previously tuned bearer IncludeEPGData in Indicates whether the callback is to return the raw EPG data fragment to the application on every callback pcontext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also XADTVSourceBroadcastItf SetScanl nfo DisableEPGListening XAResult DisableEPGListening XADTVProgramGuideUpdateItf self XAuint32 bearerID Description Stops the previously started listening for EPG data associated with a specified bearerID _Pre The bearerID specified must identify a bearer on which conditions ctartEPGListening previously has been called to have any effect If StartEPGListening was not previously called this method will return XA_RESULT_PARAMETER_INVALID Parameters self in Interface self reference bearerID in The ID of the listening bearer Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also StartEPGListening SetEPG XAResult SetEPG XADTVProgramGuideUpdatelItf self XAuint32 bearerID XAchar
24. None conditions Parameters self in Interface self reference contentID in The content ID intAttribute in See XA_DTV_EPG_ATTR_INT_ macros pintValue out Value of the given intAttribute Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED Comments GetContentTimedAttrib XAresult GetContentTimeAttrib XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 timeAttribute XAtime pTimeValue Description Gets the value of the given time attribute on the given content If the given timeAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED is returned Pre None conditions Parameters self in Interface self reference contentID in The content ID timeAttribute in See XA_DTV_EPG_ATTR_TIME_ macros pTimeValue out Value of the given timeAttribute Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED Comments GetPurchaseBundlesOfService XAresult GetPurchaseBundlesOfService XADTVProgramGuideQueryItf self XAuint32 servicelID XAuint32 pNumberOfBundles
25. The return value can be one of the following e XA_RESULT_SUCCESS XA_RESULT_PARAMETER_INVALID Comments ANDServiceFilterl nt XAresult ANDServiceFilterInt XADTVProgramGuideQueryItf self XAuint32 intAttribute XAuint32 intValue Description Adds a new integer filtering criteria by ANDing it to the existing criteria Match is positive when the given intAttribute equals with the given attribute s value Used by GetServices method Pre conditions None Parameters Self in Interface self reference intAttribute in The new integer attribute to be ANDed to the existing criteria intValue in The new integer to be ANDed to the Return value existing criteria The return value can be one of the following XA_RE XA_RE SUL SUCC ESS SUL _PARAI KT ER_INVALID Comments ANDContentFilterString XAresult ANDContentFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute XAchar pStringValue Description Adds a new string filtering criteria as ANDing it to the existing criteria Match is positive when the given stringAttribute is found asa substring in the given attribute s value Used by GetContents method Pre None conditions Parameters Self in Interface self reference stringAttribute in
26. XADTVSOURCEMULTICASTITE ccce cece eee eee eee eee teeta teeta eee teat eae naeeaenaes 104 7 13 XADTVSOURCEUNICASTITF i ieinrvene nid ence eae ea nia e niaea ened Eaa a ers 109 7 14 XADTVSOURCEUTILITIESITF 0ceecece eects cnet e teeta teeta eee teat eae aaia aa 114 8 MACROS AND TYPEDEFS 123 8 Ts STRUCTURES uaou naa e aaa AE a Aa a a i aa ida E A A AEEY 123 8 1 1 XADataLocator_DTVSerV Ce s sssssrssrrsrrsrrrrrrrrrnrrnrirnirnrrnerrerrrerrsre 123 8 1 2 XADTVContentProtection nfo cece cece eee eee eee eee eae ee en ene ed 123 8 1 3 XADTVI nternetConnectionl nfo c cece eect eee teeta tenet eee ed 123 8 1 4 XADTVLocalAssociatel Nf0 cece c cece eect e eee eee e teeta eae ne eee 124 8 1 5 XADTVMulticastGroupI nfo 0 eee eee eee eee ed 124 8 1 6 XADTVServiceConnectionI nfo 0 cece eee eee e eee teeta eee ed 124 8 1 7 XADTVServiceDataDeliveryFileDescriptor cece eee ee eect eee eee 125 8 1 8 XADTVServiceTimeShiftl nfo 1 2 0 eee eee eee teen e eee ed 125 8 1 9 XADTVSourceBearerl Nf0 0 2 0 cece cece eee eee eee eee tenet neta ed 126 8 1 10 XADTVSourceScanl nfo 0 cece eee eee eee eee eaten ed 126 8 1 11 XADTVUnicastConnectl nfo ccc eee eee eee teeta eee ee need 127 8 2 MACROS vicina ieee da od ode 2a sada oa Salad Salvia to Ve ent ed Sala Oo Valdes ea naa oa dieing ee oe 129 82220 XAT DTV EPG UAT TR ENT case nic cel haat Anshan a a a
27. 11 ETSI 2004 DVB T DVB T specification ETSI EN 300 744 V1 6 1 2009 01 ETSI 2009 ATSC A 53 ATSC Digital Television Standard Parts 1 6 ATSC Advanced Television Systems Committee 2007 ISDB T ARIB Standard for Digital Terrestrial TV Broadcasting DiBEG 2005 2008 IMB Integrated Mobile Broadcast Whitepaper GSMA 2009 DMB DMB DAB specification ETSI TS 102 428 V1 2 1 2009 04 ETSI 2009 CMMB China Mobile Multimedia Broadcasting Chinese CMMB 2009 JSR 272 JSR 272 Mobile Broadcast Service API for Handheld Terminals J CP Java Community Process 2008 Appendix B OpenMAX AL Profile Object Mapping OpenMAX AL Profile Media Player Media Player Recorder Object o Player S rVSource Player Program Guide Manager Recorder Tt Service Legend Mandated Optional Appendix C Object Interface Mapping DTVSource Player Recorder eae 1 1 2 XAConfigExtensionsItf XADTVContentProtectionItf XADTVPlayerTimedObjectsItf XADTVPlayerTimeShiftControliItf IXADynamicSourceltf _ _ Legend Mandated Optional Only the directly used interfaces are shown in the Player and Recorder objects in this table For a full list of mandated and optional interfaces on these objects please refer to the OpenMAX AL 1 1 Specification Object Interface Mapping table 1 2 The recorder object is optional if recording is not supported in the underlying OpenMAX AL imple
28. GetNumberAvailableStaticBearers Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_BUFFER_INSUFFICIENT Comments The bearer ID of the bearers is static unique and will not change during the application lifetime The caller of this method is responsible for allocating the pBearerl Ds array GetBearerl nformation XAresult GetBearerInformation XADTVSourceUtilitiesItf self XAuint32 bearerID XADTVSourceBearerInfo pBearerInformation Description Queries information about the specified bearer This method takes a bearer ID as input and returns information about that bearer Available static bearer IDs in the system may be queried using the GetNumberAvailableStaticBearers method Pre None conditions Parameters self in Interface self reference bearerID in The ID of the bearer pBearerInformation out Structure containing the bearer information Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None SetBearerState XAresult SetBearerState XADTVSourceUtilitiesItf self XAuint32 bearerID XAuint32 powerState Description Sets the specified bearer to the specified power state
29. Pre None conditions Parameters self in Interface self reference pEnableHint in Bitmask defining the currently set renderingmode See the XA_DTV_PLAYER_TIMED OBJECTS macro for more information Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments GetEnable See Also SetEnable GetCapabilities xaDTVTimedObjectsCallback RegisterTimedObjectsCallback XAresult RegisterTimedObjectsCallback XADTVPlayerTimedObjectsItf self xaDTVTimedObjectsCallback Callback void pContext Description Registers timed objects callback Pre None conditions Parameters self in Interface self reference Callback in A Callback that is going to be called each time a new object is to be rendered on top of the video This parameter is allowed to be NULL if the application is not interested in any callbacks and the implementation is capable of rendering any of the object types specified by the EnableHint parameter This callback is called for all types of objects pcontext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments The Di
30. The new string attribute to be ANDed to the existing criteria pStringValue in The new string to be ANDed to the existing criteria Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments ANDContentFilterTime XAresult ANDContentFilterTime XADTVProgramGuideQueryItf self XAuint32 timeAttribute XAtime timeValue XAuint8 operation Description Adds new filtering criteria as ANDing it to the existing criteria Used by GetContents method Pre None conditions Parameters Self in Interface self reference timeAttribute in The new time attribute to be ANDed to the existing criteria timeValue in The new time to be ANDed to the existing criteria operation in Less than equal or greater than Please use XA_DTV_EPG_OPR_COMP_ macros ANDContentFilterTime Return value The return value can be one of the following XA_RESULT_SUCCESS _PARA e XA RESUL ET ER_INVALID Comments XAre ResetServiceFilterString sult ResetServiceFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute Description Resets an existing string filtering criteria Match is positive when the given stringAttribute s found as a substring in the given attribute s value
31. The string attribute to reset Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments ResetContentFilterTime XAresult ResetContentFilterTime XADTVProgramGuideQueryItf self XAuint32 timeAttribute Description Resets existing filtering criteria Used by GetContents method Pre None conditions Parameters Self in Interface self reference timeAttribute in The time attribute to reset Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments GetServices XAresult GetServices XADTVProgramGuideQueryItf self XAuint32 pNumberOfServices XAuint32 pServices Description Gets service IDs matching the filter given by ANDServiceFilter method calls Pre None conditions Parameters Self in Interface self reference Return value pNumberOfServices in out As an input specifies the length of the pServices array AS an output specifies the number of services currently available in the system and the length of the valid positions in the returned array Returns 0 if no services are available in the system pservices out Array of the services currently available in the system This
32. XADTVSourceBroadcastiItf self xaDTVSourceScanningCallback Callback void pContext Interface ID 213f8170 c463 11de 8a39 0800200c9a66 Callbacks xaDTVSourceScanningCallback typedef void XAAPIENTRY xaDTVSourceScanningCallback XADTVSourceBroadcastItf Caller XAuint32 bearerID XADTVSourceScanInfo pScanInfo void pContext F Description Notifies the application that a frequency content or platform has been found One callback per found frequency content or platform will be returned Scan is complete when pScanInfo is returned as NULL The scan is automatically cancelled upon completion If the scan is cancelled manually a final callback with pScanInfo set to NULL will be issued upon termination of the scan The scan mechanism returns information for single services when possible For services requiring and EPG to retrieve the single service information such as for a DVB H platform the scan information is returned as a complete set of multiple services Parameters Caller in Interface on which this callback was registered bearerID in The ID of the bearer that is performing a scan pScanInfo in The returned scan specific data for each service or set of services When possible will contain information for each service in the multiplex otherwise will contain information for the complete set of services pContext in User context data that is supplied wh
33. XAuint32 pBundles Description Gets the purchase bundles to which the given service belongs Pre None conditions Parameters Self in Interface self reference serviceID in The service ID pNumberOfBundles in out As an input specifies the length of the pBundles array As an output specifies the returned number of bundles Zero if the given service does not belong to any bundle pBundles out IDs of the bundles GetPurchaseBundlesOfService Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pBundles array GetPurchaseBundlesOfContent XAresult GetPurchaseBundlesOfContent XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 pNumberOfBundles XAuint32 pBundles i Description Gets the purchase bundles where the given content belongs to Pre None conditions Parameters self in Interface self reference contentID in The content ID pNumberOfBundles in out As an input specifies the length of the pBundles array As an output specifies the returned number of bundles Zero if the given content does not belong to any bundle pBundles out IDs of the bundles Return value The retur
34. could also be applied to any other reception technology by just changing the used reception interface on the DTVSource object This usecase extends the OpenMAX AL standard usecase for Audio and Video Playback Cietes XADynamicSourceSinkChangeltf XADTVSourceBro adcastktf DTV Source MAPlayltf Service XADTVServicelnputSel ectoritf XADTYSourceUtilitiesitf Figure 3 Live Broadcasted Playback 1 First create the DTV Source and Service objects Then create the playback object as described in the Audio and Video Playback usecase from the OpenMAX AL specification 2 Using the xADTVSourceUtilitiesiItf from the DTV Source object check that the reception technology you want to use is available and then save the bearerID 3 Scan the broadcast technology using the XADTVSourceBroadcastItf to find a suitable service TV channel to use 4 Tune the bearer to the service TV channel that was chosen in step 3 above by using the XADTVSourceBroadcastItf 5 On the service object use the XADTVServiceInputSelectorItf to connect the tuned bearer using the bearerID as a reference 6 Connect the service object as a data source for the player either when creating the player or by using the xADynamicSourceSinkChangeltf 7 Start the rendering by issuing a play on the Player object using the XAPlaylItf 4 3 2 Live Broadcasted Playback with Time Shift This usecase illustrates the interfaces and objects involved in
35. developing their applications Implementers of the API can use this specification to determine what constitutes an implementation conforming to the OpenMAX AL Digital TV extension standard 1 3 The OpenMAX AL Digital TV Extension The OpenMAX AL Digital TV Extension provides an API to control reception recording and playback of digital TV content This new extension introduces three new objects e DTVSource object which abstracts the tuner hardware DTVSource includes bearer selection connections to streaming servers and scanning functionality e Program Guide Manager object which provides access to Electronic Program Guides EPGs e Service object which represents the content received Content received could be a TV channel Service objects act as a data source for both the Player and the Recorder In addition to those three new objects a number of extension interfaces have been added to the OpenMAX AL player and recorder objects The Digital TV Extension requires conforming to the Media Player profile of the OpenMAX AL specification If Digital TV Recording capabilities are to be implemented the Media Player Recorder profile is mandated on the OpenMAX AL implementation gt Data flow and control connections gt Implicit logical connections Figure 1 Overview 1 4 Acknowledgements The OpenMAX AL Mobile TV extension specification is the result of the contributions of many people The following is a partial list
36. e XA_RESULT_CONTENT_NOT_FOUND Comments Disassociate XAResult Disassociate XADTVSourceLocallItf self XAuint32 bearerID Description Disassociates a local resource with a specific local bearerID Pre conditions The bearer identified by the bearerID parameter must be associated to a local resource Parameters self in Interface self reference bearerID in Identifies a local resource that should be disassociated Disassociate Return value The return value can be one of the following e XA RESUL e XA RESUL SUCC ESS _PARAI KT ER_INVALID e XA_RESUL _PRECONDITIONS_VIOLAT ii las Comments I sAssociated XAResult IsAssociated XADTVSourceLocaliItf self XAboolean pIsAssociated Description Queries to find out if a local resource is associated Pre None conditions Parameters self in Interface self reference pisAssociated out Indicates whether the local resource is associated or not Return value The return value can be one of the following e XA RESUL SUCC e XA RESUL _PARAI ESS KT ER_INVALID Comments See Also 7 12 XADTVSourceMulticastlitf Description This interface represents bearers that rely on IP multicast delivery
37. following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED Comments GetBundleTimeAttrib XAre sult GetBundleTimeAttrib XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 timeAttribute XAtime pTimeValue Description Gets the value of the given time attribute on the given purchase bundle If the given timeAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED is returned Pre None conditions Parameters self in Interface self reference bundleID in The bundle ID timeAttribute in See XA_DTV_EPG_ATTR_TIME_ macros pTimeValue out Value of the given timeAttribute Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED Comments CreateServiceConnectionl nfo XAresult CreateServiceConnectionInfo XADTVProgramGuideQueryItf self XAuint32 IDType XAuint32 ID void pInternetConnection XADTVServiceConnectionInfo pServiceConnectionInfo Description Collects and outputs service connection information to be used with the XADTVServicel nputSelectorItf ConnectUsingServiceGuideData method on the service As input this m
38. of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None See Also xaEPGUpdateCallback RegisterEPGGetEPGCallback XAresult RegisterEPGGetEPGCallback XADTVProgramGuideUpdatelItf self xaEPGGetEPGCallback Callback void pContext Description The callback method to be called when the Get EPG save is completed Pre conditions None Parameters self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value Comments The return value can be one of the following e XA RESUL e XA RESUL None _ SUCCESS _PARAMETER_INVALID See Also xaEPGGet EPGCal back 7 7 XADTVRecorderModeltf Description XADTVRecorderModeltf is used to record the streams from a Digital TV service This interface is a recorder object extension interface Streams to record are chosen with help of the select streams mechanism in the stream information interface This interface initializes the configurable recording parameters specific for the Digital TV Extension This interface is a mandated interface on the Recorder See section 6 4 object Prototype XA_API extern const XAInterfaceID XA_IID_ DTVRECORDER
39. pURI Description Sets an Electronic Program Guide associated with a specified bearerID The puRI parameter points to an actual Electronic Program Guide to set Pre None conditions Parameters self in Interface self reference bearerID in The ID of the tuned bearer puRI in A pointer to a NULL terminated string containing a URI that identifies an existing EPG SetEPG Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments The EPG identified by the puRI parameter could be either a previously saved EPG retrieved by Get EPG or an EPG from an external source For example a XML based EPG residing on a web server See Also GetEPG GetEPG XAResult GetEPG XADTVProgramGuideUpdatelItf self XAuint32 bearerID XAchar pURI xaEPGGetEPGCallback Callback void pContext Description Gets an EPG associated with a specified bearerlD from the implementation The location where to save the EPG is identified by the URI supplied The EPG returned after a call to this method is not required to be parseable by the application The most common purpose of this method is to make it possible for an application to retain the EPG state between sessions This method is especially handy if the implementation does not support persistence of its EPG data betw
40. parameter is populated by the call with the array of technologies provided that the input value of pNumberOfServices iS equal to or greater than the number of actual services If pNumberOfServices is less than the number of actual input services the error code XA_RESULT_BUFFER_INSUFFICIENT S returned The return value can be one of the following ETER_INVALID e XA_RESULT_SUCCESS e XA_RESULT_PARAI e XA_RESULT_BUFFE R_INSUFFICIENT Comments The caller of this method is responsible for allocating the pServices array To ensure that the allocated array is large enough to hold the returned data this method can be called twice once with pNumberOfServices as an output parameter and pServices set to NULL and the second time with the pServices array of size pNumberOfServices allocated and pNumberOfServices as an input parameter GetServiceStringAttrib XAresult GetServiceStringAttrib XADTVProgramGuideQueryItf self XAuint32 servicelID XAuint32 stringAttribute XAuint32 pStringLength XAchar pStringValue Description Gets the value of the given string attribute on the given service If the given stringAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED is returned Pre None conditions Parameters self in Interface self reference serviceID
41. returned Pre None conditions Parameters self in Interface self reference bundleID in The bundle ID stringAttribute in See XA_DTV_EPG_ATTR_STR_ macros pStringLength in out As an input specifies the length of the pStringValue array As an output specifies the length of the returned string May be zero if not sent pStringValue out Value of the given stringAttribute GetBundleStringAttrib Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pStringValue array GetBundlel ntAttrib XAresult GetBundleIntAttrib XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 intAttribute XAuint32 pValue Description Gets the value of the given integer attribute on the given purchase bundle If the given intAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED s returned Pre None conditions Parameters self in Interface self reference bundleID in The bundle ID intAttribute in See XA_DTV_EPG_ATTR_INT_ macros pValue out Value of the given intAttribute Return value The return value can be one of the
42. setting up a time shifted live playback session Time shift is when a live transmission feed is saved locally allowing you to pause during playback The procedure is the same as the Live Broadcasted Playback but the XADTVPlayerTimeShiftControlitf is also used Creates XADTVPlayerTimeShiftControlltf T XADynamicSourceSinkChangeltf XADTVSourceBro adcastitf ay Player 3 I xASeekltf DTV Source XAPlayltf 4 Service XADTVSourceutilitiesitf XADTVServicelnputSel ectoritf Figure 4 Live Broadcasted Playback with Time Shift Time shifting is performed by initializing the time shift functionality using the XADTVPlayerTimeShiftControlitf and then use the normal player controls Use Pause Play and Stopped states on the xAPlayItf and utilize the seeking functionality provided by the xASeekItf 4 3 3 Live Broadcasted Playback with Time Shift alternative This usecase illustrates an alternative way of achieving time shift functionality if the underlying system allows reading a file in the file system while the same file is being written by the recorder For the Digital TV extension parts the setup is basically analogous with the Record Broadcasted Content usecase in section 4 3 6 with the addition of a normal OpenMAX AL Media Player object reading from a file source that refers to the recorded file Note that this usecase is only for illustrative purposes and mimics the way many other curr
43. the progress notifications Pre conditions Parameters None self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also None xaDTVServiceFileDownliadProgressCallback 7 9 XADTVServicelnputSelectorltf Description XADTVServiceInputSelectoriItf is used to select service source The service input selector controls from what entity and how the service gets its data Once connected the connection cannot be changed This interface is a mandated interface on the Service See section 6 5 object Prototype XA_API extern const XAInterfaceID XA_IID_DTVSERVICEINPUTSELECTOR struct XADTVServiceInputSelectorItf_ typedef const struct XADTVServicelInputSelectorItf_ const XADTVServiceInputSelectorItf struct XADTVServiceInputSelectoritf_ XAresult ConnectUsingProgramGuideData XADTVServicelInputSelectoriItf self XADTVServiceConnectionInfo pServiceConnectionInfo XAresult ConnectUsingBearerID XADTVServicelInputSelectoriItf self XAuint32 bearerID XAResult IsConnected XADTVServiceInputSelectorItf self XAboolean pIsConnected Interface ID a29b99b0
44. 32 pTechnologies XAResult Connect XADTVSourceUnicastItf self XADTVUnicastConnectInfo pUnicastConnectInfo XAuint32 pBearerID XAResult Disconnect XADTVSourceUnicastItf self XAuint32 bearerID XAresult GetUnicastBearerConnectionState XADTVSourceUnicastItf self XAuint32 bearerID XAuint32 pState XAresult RegisterUnicastConnectionStateChangedCallback XADTVSourceUnicastItf self xaDTVUnicastConnectionStateChangedCallback Callback void pContext Interface ID e89cabec 9007 433b 9a57 4db4ade04ed3 Callbacks xaDTVUnicastConnectionStateChangedCallback typedef void XAAPIENTRY xaDTVUnicastConnectionStateChangedCallback XADTVSourceUnicastItf Caller XAuint32 bearerID XAuint32 connectionState void pContext Description Notifies the application that connection state has changed for a specific unicast bearer Parameters Caller in Interface on which this callback was registered bearerID in Identifies the bearer for which the state changed connectionState in The new connection state See the XA_DTV_UNICAST_CONNECTION_ STATE macros for more information pContext in User context data that is supplied when the callback method is registered Comments See Also Methods QuerySupportedUnicastTechnologies XAResult QuerySupportedUnicastTechnologies XADTVSourceUnicastItf
45. 63 11de 8a39 0800200c9a66 Callbacks xaDTVTimesShiftl nfoCallback typedef void XAAPIENTRY xaDTVTimeShiftInfoCallback XADTVPlayerTimeShiftControlItf Caller XADTVServiceTimeShiftInfo pTimeShiftInfo void pContext Description Notifies the current status of the time shift buffer to the application Parameters Caller in Interface on which this callback was registered pTimeShiftInfo in A struct specifying the current time shift buffer status pContext in User context data that is supplied when the callback method is registered Comments See Also Methods RegisterTimeShift nfoCallback XAresult RegisterTimeShiftInfoCallback XADTVPlayerTimeShiftControlItf self xaDTVTimeShiftInfoCallback Callback XAMillisecond Period void pContext Description Sets the callback and periodicity to receive time shift information The callback is only induced if SetCacheLength and Enable have been called successfully Pre None conditions Parameters self in Interface self reference Callback in The callback Period in The periodicity for the callback in milliseconds pContext in User context data that is supplied when the callback method is registered RegisterTimeShiftl nfoCallback Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID
46. AAPIENTRY xaDTVMulticastConnectionStateChangedCallback XADTVSourceMulticastItf Caller XAuint32 bearerID XAuint32 connectionState void pContext Description Notifies the application that connection state has changed for a specific multicast bearer Parameters Caller in Interface on which this callback was registered bearerID in Identifies the bearer for which the state changed connectionState in The new connection state See the XA_DTV_MULTICAST_CONNECTION_STATE macros for more information pcontext in User context data that is supplied when the callback method is registered Comments See Also Methods QuerySupportedMulticastTechnologies XAResult QuerySupportedMulticastTechnologies XADTVSourceMulticastItf self XAuint32 pNumberOfTechnologies XAuint32 pTechnologies i Description Queries the system for supported multicast technologies The returned values represent various multicast technologies This specification only represents MBMS and regular IGMP IPTV by default The values supported could easily be extended and added to represent more technologies as they become available or defined Pre None conditions Parameters self in Interface self reference pNumberOfTechnologies in out As an input specifies the length of the pTechnologies array AS an output specifies the number of technologies currentl
47. ADataLocator_DTVService see Section 8 1 1 is used for this purpose For further information on how to use data locators and data sources refer to the OpenMAX AL specification One service may be recorded while watching another The service object can be associated with a Digital TV Source object using two different connection methods Each of the two methods has its own advantage e Connected via information retrieved from the program guide manager Advantage Easy to connect to a queried program guide service e Connected directly to a pre tuned receiver bearer on the Digital TV Source object Advantage Simple connection for broadcast not using a program guide 4 2 Minimum Requirements Apart from the mandatory interfaces See Appendix C that need to be implemented there exist a couple of minimum requirements on the implementation 1 At least one reception bearer technology interface needs to be implemented 2 The implementation needs to be able to save at least 60 seconds of transmission data to be used for the time shift functionality 3 The implementation needs to be able to save at least 60 seconds of transmission data using the recorder 4 3 OpenMAX AL Digital TV Extension Usecases 4 3 1 Live Broadcasted Playback This usecase illustrates the interfaces and objects involved in setting up and using a generic live broadcasted reception technology The usecase illustrates a broadcast oriented reception but the usecase
48. Aresult IsEnabled XADTVPlayerTimeShiftControlItf self XAboolean pEnabled Description Checks whether the time shift functionality is enabled or disabled Pre conditions None Parameters Self in Interface self reference pEnabled out Indicates whether the time shift buffer is enabled or disabled IsEnabled Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None SaveAvailableData XAresult SaveAvailableData XADTVPlayerTimeShiftControlItf self XAchar pUri Description Dumps the current time shift buffer to a file specified by pFilePath Pre conditions None Parameters Self in Interface self reference pUri in The file to save the data in If the specified URI points to an existing file that file will be overwritten if not read only Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None 7 4 XADTVProgramGuidePurchaseltf Description This interface is the interface handling functionality associated with a purchase It provides a means to get information that might be required by the application to perform purchase of rights This interface is a mandated interface on t
49. Caller in Interface on which this callback was registered ProgressStatus in Indicates if the file is still downloading Refer to the XA_DTV_SERVICE_FILE DL PROGRESS macros for more information Progress in The amount of the file downloaded so far pFileDescriptor in The file descriptor associated with this progress pcontext in User context data that is supplied when the callback method is registered Comments See Also Methods SetEnabled SetEnabled XAresult SetEnabled XADTVServiceDataDeliveryItf self XAboolean Enabled void Context Description Enables or disables the file delivery mechanism and start listening for FDT File Delivery Table entries and similar When a file delivery entry descriptor arrives the application is notified about it by a callback notification xaDTVServiceFileDescriptionUpdateCallback if the callback has been registered Pre None conditions Parameters self in Interface self reference Enabled in TRUE if the service should be enabled FALSE if the service should be disabled Context in User context data that is to be returned as part of the callback method Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also IsEn
50. ID e XA_RESULT_BUFFER_INSUFFICIENT Comments array The caller of this method is responsible for allocating the pContents GetSubscribedPurchaseBundles XAresult GetSubscribedPurchaseBundles XADTVProgramGuideQueryItf self XAuint32 pNumberOfBundles XAuint32 pBundles Description Gets the currently subscribed purchase bundles Pre None conditions Parameters self in Interface self reference pNumberOfBundles in out As an input specifies the length of the pBundles array As an output specifies the returned number of bundle IDs Zero if there are currently no subscriptions pBundles out IDs of the bundles Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pBundles array GetBundleStringAttrib XAresult GetBundleStringAttrib XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 stringAttribute XAuint32 pStringLength XAchar pStringValue Description Gets the value of the given string attribute on the given purchase bundle If the given stringAttribute is not supported by the implementation xA_RESULT_FEATURE_UNSUPPORTED is
51. MODE struct XADTVRecorderModelItf_ typedef const struct XADTVRecorderModeItf_ const XADTVRecorderModelItf struct XADTVRecorderModeItf_ XAresult QueryRecordModeCapabilities XADTVRecorderModelItf self XAuint32 pRecordModeCapabilities XAresult SetDTVRecordMode XADTVRecorderModelItf self XAuint32 RecordMode XAresult GetDTVRecordMode XADTVRecorderModelItf self XAuint32 pRecordMode Interface ID 7fac2c90 c463 11de 8a39 0800200c9a66 Callbacks None Methods QueryRecordModeCapabilities XAresult QueryRecordModeCapabilities XADTVRecorderModelItf self XAuint32 pRecordModeCapabilities Description Gets information about the capability of the device Returns whether the implementation is capable of different record modes Pre None conditions Parameters Self in Interface self reference pRecordModeCapabilities out The capabilities of the device Defined as a bitmask with implementation specific record mode capabilities See the XA_DTV_RECORDER_MODE macro definition Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also SetDTVRecordMode XAresult SetDTVRecordMode XADTVRecorderModelItf self XAuint32 RecordMode Description Tells the implementation how to record the d
52. OPENMAX AL PROFI LE OBJ ECT MAPPING 140 APPENDIX C OBJ ECT INTERFACE MAPPING 141 PART 1 USER MANUAL 1 Overview 1 1 Purpose of this Document This document details the API for an extension to OpenMAX Application Layer AL 1 1 Developed as an open standard by the Khronos Group OpenMAX AL Digital TV Extension is an application level Digital TV API It provides a device independent cross platform interface for applications to access a device s TV capabilities LLE About the Khronos Group The Khronos Group is a member funded industry consortium focused on the creation of open standard royalty free APIs to enable the authoring and accelerated playback of dynamic media on a wide variety of platforms and devices All Khronos members can contribute to the development of Khronos API specifications are empowered to vote at various stages before public deployment and may accelerate the delivery of their multimedia platforms and applications through early access to specification drafts and conformance tests The Khronos Group is responsible for open APIs such as OpenGL ES OpenKODE OpenSL ES and OpenVG 1 2 Intended Audience This specification is meant for application developers and implementers The document is split into a user manual section and an API reference section Application developers can use this document as a user guide to learn about how to use OpenMAX AL Digital TV extension and they can refer to the API reference when
53. Playltf Service Recorder XADynamicSourceSinkChangeltf XADTVSourceutilitiesitf XADTVServicelnputSel ectoritf XADTVRecorderModeltf Figure 9 Simultaneous Record and Playback of Broadcasted Content 1 Follow the Live Broadcasted Playback scenario in section 4 3 1 creating a Recorder object and a Player object 2 Connect the Player and Recorder objects to the Service using the XADynamicSourceSinkChangelItf or when creating the objects Set the recorder mode by using the XADTVRecorderModelItf interface 4 Record the broadcast by using the xARecordiItf interface 5 Start the player rendering by using the XAPlayItf 4 3 8 Retrieval and Query of the Electronic Program Guide EPG This usecase illustrates the interfaces and objects involved in receiving and querying of the Electronic Program Guide EPG Engine XADTVPragram GuideUpdateltf Creates XADTVProgram GuideQueryltf a xeDTVSourceBroadcastitf Prog ram Gu ide Manager i DTV Source XADTYSourceLtilitiesitf Figure 10 Retrieval and Query of the EPG 1 Select and scan a broadcast bearer to find either a single service or a combined multiplex of multiple services 2 Tune the bearer to the service or services found 3 Use the XADTVProgramGuideUpdateItf to connect the tuned bearer using the associated bearerID Also supply a callback function to receive notifications of updates to the EPG It is possible to associate multiple bearers using the XAD
54. RMISSION_DENIED The bearer may be locked to a specific provider or platform Use the description of the bearer returned by the DTVSourceutilitiesI tf interface to see if the bearer is locked e XA_RESULT_SUCCESS XA_RESULT_PARAMETER_INVALID Comments See Also GetScanlnfo GetScanli nfo XAresult GetScanInfo XADTVSourceBroadcastItf self XAuint32 bearerID XADTVSourceScanInfo pScanInfo Description Retrieves the currently selected platform or service for the bearer Pre conditions SetScanlnfo must have been set before calling this method Parameters self in Interface self reference bearerID in The bearer ID of the bearer to retrieve the scan info from pScaninfo out The currently tuned platform or service Return value e XA_RESULT_PRECONDITIONS_VIOLATED No Scan Info has previously been set e XA_RESULT_SUCCESS Comments See Also SetScanInfo IsScanning XAresult IsScanning XADTVSourceBroadcastItf self XAuint32 bearerID XAboolean pIsScanning Description Returns TRUE if there is an active service scan on a specific bearer Pre None conditions Parameters self in Interface self reference bearerID in The ID of the bearer to query for ongoing scan IsScanning plIsScanning out Indica
55. ROTECTION_MISSING_RIGHTS Rights do not exist on the device to be able to decrypt the content Value Description XA_DTV_CONTENT_PROTECTION_EXPIRED_RIGHTS Rights that belong to the stream expired exist on the device but they are 8 2 12 XA DTV_EPG CONTENT ID TYPE define XA_DTV_EPG_CONTENT_ID_TYPE_BUNDLE XAuint32 0x00000002 define XA_DTV_EPG_CONTENT_ID_TYPE_SERVICE XAuint32 0x00000001 define XA_DTV_EPG_CONTENT_ID_TYPE_CONTENT XAuint32 0x00000000 Value Description XA_DTV_EPG_CONTENT_ID_TYPE_BUNDLE The ID specified refers to a bundle XA_DTV_EPG_CONTENT_ID_TYPE_SERVICE The ID specified refers to a service XA_DTV_EPG_CONTENT_ID_TYPE_CONTENT The ID specified refers to a specific content 8 2 13 XA_DTV_MULTICAST CONNECTION_STATE define XA_DTV_MULTICAST_CONNECTION_STATE_CONNECTED 0x00000001 XAuint32 define XA_DTV_MULTICAST_CONNECTION_STATE_CONNECTED XAuint32 0x00000002 _ RECEIVING XAuint32 0x00000003 define XA_DTV_MULTICAST_CONNECTION_STATE_DISCONNECTE The macros are defined to identify connection state of a multicast bearer Value Description XA_DTV_MULTICAST_CONNECTION_STATE_CONNECTED Identifies the connected state for the multicast bearer The bearer does not receive any data
56. TVProgramGuideUpdateiItf to a single program guide manager Please refer to the XADTVProgramGuideUpdateltf in section 7 6 4 The EPG downloads continuously This might take some time depending on the technology used and amount of data contained in the EPG 5 The Digital TV extension does not determine when to allow queries in the EPG as downloading an EPG is normally a continuous process with no end It is up to the application to determine when to allow queries 6 Query the EPG by using the xADTVProgramGuideQueryItf to locate service or content of interest 7 Alternative if a previously downloaded EPG has been saved to the file system 8 Use the xADTVProgramGuideUpdatelItf to set a previously downloaded EPG as the current EPG 9 Query the EPG by using the xADTVProgramGuideQueryItf to locate service or content of interest 4 3 9 Live Playback Initiated by the EPG This usecase illustrates the interfaces and objects involved in setting up a live playback session using the program guide The usecase also illustrates the events that are triggered when trying to render protected content without proper rights Engine MADTY Program GuideUp dateltf RRES XADTVContentProtectionitf __ XADTYProgram GuideQueryitf XADynamicSourceSinkChangeltf dTVSourcesroadcastitf Prog ram Guide Sl Manager DTV Source XAPlayltf Service XADTYSourceUtilitiesitf XADTYContentProtectionltf XADTYServicelnputSele
57. TV_EPG_OPR_COMP_EQUAL Both are equal XA_DTV_EPG_OPR_COMP_GREATER_THAN The first is greater than the second 8 2 6 XA_DTV_EPG_PERMISSION define XA_DTV_EPG_PERMISSION_NOT_PROTECTED 0x00000000 define XA_DTV_EPG_PERMISSION_NOT_SUBSCRIBED define XA_DTV_EPG_PERMISSION_SUBSCRIBED 0x00000002 The macros are defined for permissions XAuint32 0x00000001 XAuint32 XAuint32 Value Description XA_DTV_EPG_PERMISSION_NOT_PROTECTED Not protected not subscribed XA_DTV_EPG_PERMISSION_NOT_SUBSCRIBED Protected currently not subscribed XA_DTV_EPG_PERMISSION_SUBSCRIBED Protected subscribed 8 2 7 XA_DTV_BEARER_FAMILY define XA_DTV_BEARER_FAMILY_DVB_ XAuint32 0 define XA_DTV_BEARER_FAMILY_ATSC XAuint32 1 define XA_DTV_BEARER_FAMILY_ISDB XAuint32 2 define XA_DTV_BEARER_FAMILY_IMB XAuint32 3 define XA_DTV_BEARER_FAMILY_DMB XAuint32 4 define XA_DTV_BEARER_FAMILY_CMMB XAuint32 5 define XA_DTV_BEARER_FAMILY_MBMS XAuint32 6 define XA_DTV_BEARER_FAMILY_RTSP XAuint32 7 define XA_DTV_BEARER_FAMILY_HTTP XAuint32 8 define XA_DTV_BEARER_FAMILY_FILE XAuint32 9 Value Description XA_DTV
58. UERY struct XADTVProgramGuideQueryItf_ typedef const struct XADTVProgramGuideQueryItf const XADTVServiceGuideQueryItf struct XADTVProgramGuideQueryItf_ XAResult ANDServiceFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute XAchar pStringValue XAResult ANDServiceFilterInt XADTVProgramGuideQueryItf self XAuint32 intAttribute XAuint32 intValue XAResult ANDContentFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute XAchar pStringValue i XAresult ANDContentFilterTime XADTVProgramGuideQueryItf self XAuint32 timeAttribute XAtime timeValue XAuint8 operation XAResult ResetServiceFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute XAResult ResetServiceFilterInt XADTVProgramGuideQueryItf self XAuint32 intAttribute XAResult ResetContentFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute XAresult ResetContentFilterTime XADTVProgramGuideQueryItf self XAuint32 timeAttribute XAresult GetServices XADTVProgramGuideQueryItf self XAuint32 pNumberOfServices XAuint32 pServices XAresult GetServiceStringAttrib XADTVProgramGuideQueryItf self XAuint32 servicelID XAuint32 stringAttribute XAuint32 pStringLength XAchar pStringValue XAresult GetServiceIntAttrib XADTVProgramGuideQueryItf self XAuint32 servicelID XAuint32 intAttribut
59. VSourceBroadcastItf SetScanInfo method When using this method to connect the service no program guide object needs to be allocated and initialized This method is only valid for bearers that do not require an EPG to be connected and the tuner can be tuned to a specific service for that bearer using the XADTVSourceBroadcastIt f SetScanInfo method Pre conditions The specified bearer must already be tuned to a specific service Bearers that do not support pointing to a single service without using a program guide cannot use this method to receive data Parameters self in Interface self reference bearerID in ID for the pre tuned bearer Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also XADTVSourceBroadcastItf SetScanInfo XADTVSourceBroadcastItf GetScaninfo IsConnected XAResult IsConnected XADTVServiceInputSelectorItf self XAboolean pIsConnected Description Queries to find out if it is connected Pre None conditions Parameters self in Interface self reference piIsConnected out Indicates whether the service is connected or not Return value The return value can be one of the following e XA RESUL e XA RESUL _ SUCCESS _PARAMET EKR_INVALID C
60. _BEARER_FAMILY_DVB The DVB family XA_DTV_BEARER_FAMILY_ATSC The ATSC family XA_DTV_BEARER_FAMILY_ISDB The ISDB family XA_DTV_BEARER_FAMILY_IMB The IMB family XA_DTV_BEARER_FAMILY_DMB The DMB family XA_DTV_BEARER_FAMILY_CMMB The CMMB family XA_DTV_BEARER_FAMILY_MBMS The MBMS family XA_DTV_BEARER_FAMILY_RTSP The RTSP family XA_DTV_BEARER_FAMILY_HTTP The HTTP family XA_DTV_BEARER_FAMILY_FILE The file family The soft bearers RTSP HTTP FILE and the multicast bearers are higher level protocols They exist as dynamically allocated bearers 8 2 8 XA_DTV_BEARER_ STATE define XA_DTV_BEARER_STATE_ON XAuint32 2 define XA_DTV_BEARER_STATE_OFF XAuint32 0 define XA_DTV_BEARER_STATE_IDLE XAuint32 1 Value Description XA_DTV_BEARER_STATE_ON The bearer is enabled XA_DTV_BEARER_STATE_OFF The bearer is disabled XA_DTV_BEARER_STATE_IDLE Standby mode 8 2 9 XA_DTV_BEARER_TECHNOLOGY define XA_DTV_BEARER_TECHNOLOGY_BROADCAST XAuint32 0x00000000 define XA_DTV_BEARER_TECHNOLOGY_UNICAST XAuint32 0x00000001 define XA_DTV_BEARER_TECHNOLOGY_ MULTICAST XAuint32 0x00000002 define XA_DTV_BEARER_TECHNOLOGY_LOCAL XAuint32 0x00000003
61. _PARAMETER_INVALID e XA RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pTechnologies array Connect XAResult Connect XADTVSourceUnicastItf self XADTVUnicastConnectInfo pUnicastConnectInfo XAuint32 pBearerID Description Connects to a specific unicast server as defined in the pUnicastConnectInfo parameter The soft bearers do not have static bearer IDs so after a successful connection the pBearerID parameter value is generated and returned Pre None conditions Parameters self in Interface self reference pUnicastConnectInfo in Holds information needed to connect to a specific unicast server The parameter identifies a unicast technology and URI pBearerID out After a successful join holds the associated bearerID for the connected unicast transmission Return value The return value can be one of the following e XA_RESULT_SUCCESS XA_RESULT_PARAMETER_INVALID XA_RESULT_CONTENT_NOT_FOUND Comments Disconnect XAResult Disconnect XADTVSourceUnicastItf self XAuint32 bearerID Description Disconnects from the unicast server associated with a bearerID Pre conditions The bearer identified by the bearerID parameter must be connected to a unicast server Parameters self
62. a must not only specify the frequency but also the PID of the specific service within the multiplex If the bearer specified by bearerld contains multiple services grouped together which cannot be identified at the time of the scan the corresponding EPG is required to select a particular service In this case only one callback will be returned per identified group of services When a group of services are returned in a single callback the singleService parameter will be set to FALSE 8 1 11 XADTVUnicastConnectinfo typedef struct XADTVUnicastConnectInfo_ XAuint32 technologyl dentifier void plnternetConnection XAchar unicastURL 256 XADTVUnicastConnectInfo XADTVUnicastConnectInfo represents a unicast server and technology Field Description technologyldentifier Identifies a unicast technology as defined by the XA_DTV_UNICAST_TECHNOLOGY macros plnternetConnection The system specific internet connection pointer See the XADTVSourceutilities tf Queryl nternetConnections method for more information on retrieving system internet connections unicastURL The URL to the unicast server example rtsp 192 0 0 100 8000 example 3gp 8 2 8 2 1 Macros XA_DTV_EPG_ATTR_INT define XA_DTV_EPG_ATTR_INT_PERMISSION XAuint32 0x00000006 define XA_DTV_EPG_ATTR_INT_SERVICE_TYPE XAuint32 0x00000020 The macros are defined for i
63. abled XAresult SetEnabled XADTVServiceDataDeliveryItf self XAboolean pIsEnabled void Context Description Queries to find out if the file delivery mechanism is enabled Pre None conditions Parameters self in Interface self reference piIsEnabled out Indicates whether the file delivery mechanism is enabled or not Context in User context data that is to be returned as part of the callback method Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also SetFileDeliveryCache XAresult SetFileDeliveryCache XADTVServiceDataDeliveryItf self XAuint32 Size XAchar pUri Description Specifies a maximum allowed file cache for the file delivery mechanism If a size and a valid writable URI are set the implementation automatically saves all received files in a file cache Pre None conditions Parameters self in Interface self reference Size in The maximum file system size that the file cache may use pUri in A NULL terminated string containing a URI to where to store the cached files Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also List XAre
64. ace functions the same with respect to the applications regardless of how the bearer delivers data If the data carousel is delivered in an IP layer within a multiplex on a bearer the underlying implementation maps the delivery mechanism to this interface This interface is an optional interface on the Service See section 6 5 object Prototype XA_API extern const XAInterfaceID XA_IID_DTVSERVICEDATADELIVERY struct XADTVServiceDataDeliveryItf_ typedef const struct XADTVServiceDataDeliveryItf_ const XADTVServiceDataDeliveryItf struct XADTVServiceDataDeliveryItf_ XAresult SetEnabled XADTVServiceDataDeliveryItf self XAboolean Enabled void Context XAresult IsEnabled XADTVServiceDataDeliveryItf self XAboolean pIsEnabled XAresult SetFileDeliveryCache XADTVServiceDataDeliveryItf self XAuint32 Size XAchar pUri XAresult List XADTVServiceDataDeliveryItf self XAuint32 NumberOfFiles XADTVServiceDataDeliveryFileDescriptor pFileDescriptor XAboolean pIsCached XAresult Download XADTVServiceDataDeliveryItf self XADTVServiceDataDeliveryFileDescriptor pFileDescriptor XAchar pUri void Context XAresult AbortDownload XADTVServiceDataDeliveryItf self XADTVServiceDataDeliveryFileDescriptor pFileDescriptor XAresult RegisterServiceFileDescriptionCallback XADTVServiceDataDeliveryItf self xaServiceFileDescriptionUpdateCallback Callb
65. ack void pContext XAresult RegisterServiceFileDownloadProgressCallback XADTVServiceDataDeliveryItf self xaDTVServiceFileDownloadProgressCallback Callback void pContext Interface ID 4d04cc20 c463 11de 8a39 0800200c9a66 Callbacks xaServiceFileDescriptionUpdateCallback typedef void XAAPIENTRY xaServiceFileDescriptionUpdateCallback XADTVServiceDataDeliveryItf Caller XAuint32 UpdateType XADTVServiceDataDeliveryFileDescriptor pFileDescriptor void pContext F Description Notifies the application that a new file descriptor update has arrived on the service Parameters Caller in Interface on which this callback was registered UpdateType in Indicates if this filedescriptor received is a new updated or removed instance Refer to the XA_DTV_SERVICE_FILE_DESCRIPTION macros for more information pFileDescriptor in The file descriptor pcontext in User context data that is supplied when the callback method is registered Comments See Also xaDTVServiceFileDownloadProgressCallback typedef void XAAPIENTRY xaDTVServiceFileDownloadProgressCallback XADTVServiceDataDeliveryItf Caller XAuint32 ProgressStatus XApermille Progress XADTVServiceDataDeliveryFileDescriptor pFileDescriptor void pContext Description Notifies the application about file download progress Parameters
66. al TV Source Object The Digital TV Source object is the data provider for the source objects All reception of the digital TV services is handled in this object The object provides interfaces that are able to enumerate all available reception technologies in the device and perform service scanning on them In most uses only one instance of this object is needed however some specially crafted applications might want to have more than one instance of this object The implementation does not disallow creating multiple instances of the object What needs to be taken in consideration is the fact that some hardware tuners can only be used on one service at a time The limitation on how many services a receiver can be bound to is hardware specific First received data is paired with Bearer IDs Then a service can use the bearer s ID to retrieve the received data 4 1 2 Program Guide Manager Object The Program Guide Manager object provides interfaces to query data from the Program guide associated with the tuners and services available The retrieved data from queries on this object can be used to instantiate services 4 1 3 Service object The Service object represents a single Digital TV Service however multiple service objects may be instantiated to represent multiple services simultaneously The service object acts as the data source for the player or recorder objects via the OpenMAX AL XADataSource structure A new data locator X
67. an 129 8 2 2 XA_DTV_EPG_ATTR_INT_PRICE 0 c cece e eee ee eens eee Ea 129 6 93 XA DIV EPG ATTR STR aien o EE E a T E tenance 129 8 2 4 8 2 5 8 2 6 8 2 7 8 2 8 8 2 9 8 2 10 8 2 11 8 2 12 8 2 13 8 2 14 8 2 15 8 2 16 8 2 17 8 2 18 8 2 19 8 2 20 8 2 21 8 2 22 MAID TV SEP AiR TIME ceases sen lets io nice leach ocean XA_DTV_EPG_OPR_COMP sxtuccoscunceutecen sconces sats enon nagecee sate econ sacs MAIDEN EPG IPERMIS SION ccixcueetun se sanguine Sahel geet alas 8 WATDIV BEARER SRA MILY tensticloaseiedvescaed ileaiaeivedsacicyaiaeivedsascicyaies XA_DTV_BEARER_STATE wh sccltistrectdaeiccotshsuctnent ttt tei thant asi coteh es XA_DTV_BEARER_TECHNOLOGY cccccccssccccsecsssesessesessuesssuesesesenes MAS DIV BEARER TYPE fepscooihinicd antnaleubhemindratulasuiosbbimiadabciatenblitntns XA_DTV_CONTENT_PROTECTION ccccccccccsseecsseeesseeeessesensteenseey XA_DTV_EPG_CONTENT_ID_TYPE cerere XA_DTV_MULTICAST_CONNECTION_STATE cccccccceeesseeeseeenees XA_DTV_MULTICAST_TECHNOLOGY XA_DTV_PLAYER_TIMED_OBJ ECTS secerneren XA_DTV_RECORDER_MODE wanctaetec ties sole taal tae XA_DTV_SERVICE_FILE_DL_PROGRESS cerere XA_DTV_SERVICE_FILE_ DESCRIPTION s e XA DIN SERVICE WY PE scstcs nieces aan tra torturers eetanione XA_DTV_SOURCE_BEARER_CHANGE ccecce XA_DTV_UNICAST_CONNECTION_ STATE irren XA DIVAUNICAST TECHNOLOGY ia1 u tence niet edd PART 3 APPENDICES 138 APPENDIX A REFERENCES 139 APPENDIX B
68. are usually downloaded from a web page but could also reside multiplexed in broadcasted data streams and downloaded using file delivery technology Value Description XA_D ERVICE_ YPE _ FILE DOWNLOAD File download XA_D ERVICE_ YPE D1 ERVE Reserved value 8 2 20 XA_DTV_SOURCE_BEARER_CHANGE define XA_DTV_SOURCE_BEARER_CHANGE_ADDED XAuint32 0x00000001 define XA_DTV_SOURCE_BEARER_CHANGE_REMOVED XAuint32 0x00000002 define XA_DTV_SOURCE_BEARER_CHANGE_STATE XAuint32 0x00000003 Va lue XA_DTV_SOURCE HARER_ CHANGE DDE Description This macro indicates that a bearer has been added XA_ TV_SOURCE_ HARER_ CHANGE _ EMOVE This macro indicates that a bearer has been removed XA TV_SOURCE_ TATE EARER_CHANGE_S This macro indicates that a bearer s state has changed 8 2 21 define XA_DTV_UNICAS XAuint32 define XA_DTV_UNICAS XAuint32 define XA_DTV_UNICAS XAuint32 XA_DTV_UNICAST_CONNECTION_STATE 0x00000001 CONNEC ION_S ATE_CONNECTED 0x00000002 CONNEC ION_S ATE_CONNECTE EIVING 0x00000003 _ CONNEC ION_S ATE_DISCONNECTED The macros are defined to identify the connection state
69. ba50 11de 8a39 0800200c9a66 Callbacks xaDTVServiceConnectionLostCallback typedef void XAAPIENTRY xaDTVServiceConnectionLostCallback XADTVServiceInputSelectorItf Caller void pContext Description Notifies the application that a connection was lost Parameters Caller in Interface on which this callback was registered pContext in User context data that is supplied when the callback method is registered Comments See Also Methods ConnectUsingProgramGuideData XAresult ConnectUsingProgramGuideData XADTVServiceInputSelectorItf self XADTVServiceConnectionInfo pServiceConnectionInfo Description Connects the service using data queried from the program guide Pre None conditions Parameters self in Interface self reference pServiceConnectionInfo in Data queried from the program guide Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments ConnectUsingBearerl D XAresult ConnectUsingBearerID XADTVServiceInputSelectorItf self XAuint32 bearerID Description Connects the service using an already tuned bearer from the DTVSource object The bearer specified must be tuned to a specific service prior to being connected to the service using this method Refer to the XADT
70. cast receivers and not all reception technologies support data delivery Creates YADTVSourceBroadcasthf DTV Source Service XADTVSourceutilitiesitf XADTVContentProtectionitf XADTVServiceDataDeliveryitf XADTVServicelnputSel ectoritf Figure 12 Data Delivery 1 Scan a reception technology to find a suitable service that contains data delivery Tune the bearer to that service and create a service object 2 Connect the service object to the tuned bearer using the XADTVServiceInputSelectoritf interface Register the content protection callback function 4 Set up and use the Data Delivery mechanism by using the XADTVServiceDataDeliveryIt interface 5 If the data received is content protected and no valid rights exist a callback event is generated containing a purchase URI that specifies where to acquire rights 4 3 11 Purchasing Initiation This usecase illustrates the interfaces and objects involved when initiating purchase of rights The user receives a URI to a web service where to purchase the needed rights Eng i ne XADTV Program GuideUpdateltf Creates XADTV Program GuidePurchaseltf ie XADTVProgram GuideQueryltf AvabTvsourcesroadcastitf Prog ram Guide A a Manager DTV Source XADTVSourceutilitiesitf Figure 13 Purchasing I nitiation 1 Follow the Retrieval and Query of the Electronic Program Guide EPG usecase to retrieve a program guide 2 Query the EPG to retrie
71. ct is mandated Mandated Interfaces XAObjectitf See the OpenMAX AL Specification XADynamicl nterfaceManagementitf See the OpenMAX AL Specification XADTVSourceutilitiesI tf See section7 14 And at least one of the following XADTVSourceMulticastl tf See section 7 12 XADTVSourceUnicastl tf See section 7 13 XADTVSourceLocalltf See section 0 XADTVSourceBroadcastltf See section 7 10 Applicable Optional Interfaces XAConfigExtensionslitf See the OpenMAX AL Specification 6 2 Player Object Description The Player object is a standard OpenMAX AL media player object on which some extension interfaces have been added Three extension interfaces have been added Timed objects optional functionality Handles objects to be rendered on top or next to the video An example of this would be timed text or subtitling Time shift mandated functionality Handles the time shift functionality for Digital TV and thus enabling pause in live streams by buffering incoming data Content protection mandated functionality returns callbacks when playback cannot continue due to missing or corrupt keys Due to the nature of live playback the standard xAPlayItf and XASeekItf behavior varies depending on if time shift is active or not If time shift is not initialized the only usable playstates on the xAPlayItf are XA_PLAYSTATE_PLAYING and XA_PLAYSTATE_STOPPED States All other states return XA_RESULT_PERMISSION_DENIED
72. cted using the xAStreamInformationItf interface This interface is an optional interface on the Player See section 6 2 object Prototype XA_API extern const XAInterfaceID XA_IID_DTVPLAYERTIMEDOBJECTS struct XADTVPlayerTimedObjectsItf_ typedef const struct XADTVPlayerTimedObjectsItf_ const XADTVPlayerTimedObjectsItf struct XADTVPlayerTimedObjectsItf_ XAresult GetCapabilities XADTVPlayerTimedObjectsItf self XAuint32 pCapabilities XAresult SetEnable XADTVPlayerTimedObjectsItf self XAuint32 EnableHint XAresult GetEnable XADTVPlayerTimedObjectsItf self XAuint32 pEnableHint XAresult RegisterTimedObjectsCallback XADTVPlayerTimedObjectsItf self xaDTVTimedObjectsCallback Callback void pContext Interface ID 5ab54890 c463 11de 8a39 0800200c9a66 Callbacks xaDTVTimedObjectsCallback typedef void XAAPIENTRY xaDTVTimedObjectsCallback XADTVPlayerTimedObjectsItf Caller XAchar pMimeType void pData XAuint32 DataLength XAmillisecond PresentationTime XAuint32 PresentationDuration XAuint32 PositionHintx XAuint32 PositionHintY void pContext Description Notifies the application that an object needs to be presented at a certain presentation time Parameters Caller in Interface on which this callback was registered pMimeType in Mime type of the object pData in Pointer to the data that is to be presented DataLengt
73. ctorltf Figure 11 Live Playback Initiated by the EPG 1 Retrieve and query an EPG by following the Retrieval and Query of the EPG usecase in section 4 3 8 2 Gather the needed connection information by using the XADTVProgramGuideQueryItf 3 Connect the Service object by using the XADTVServiceInputSelectorItf The Service object will automatically utilize the DTV Source to set up the correct hardware resources needed 4 When the connection is established and the bearer is tuned the service object is ready to be used 5 For the application to be able to get notifications of content protected streams or multiplexes the xADTVContentProtectionItf needs to be used and a callback method must be registered The XADTVContentProtectionItf is available on the Player Recorder and Service objects Any of those objects may handle the content protection at any time The application must register for content protection callbacks if those callbacks are of interest The callback event generated due to missing valid rights contains a purchase URI linking to where to acquire rights 6 Connect the Player object using the xADynamicSourceSinkChangeltf Set the player in XA_PLAYSTATE_PLAYING state by using the xAPlayIt f 4 3 10 Data Delivery This usecase illustrates the interfaces and objects involved in setting up a data delivery session Data delivery is the technology used by many operators to distribute extra binary data to broad
74. dateCallback XADTVProgramGuideUpdateItf self xaEPGUpdateCallback Callback void pContext Interface ID e00aa3f0 ba4f 11de 8a39 0800200c9a66 Callbacks xaEPGUpdateCallback typedef void XAAPIENTRY xaEPGUpdateCallback XADTVProgramGuideUpdateItf Caller XAuint32 bearerID XAchar pEPGName XAchar pEPGData void pContext Description Notifies the application that a new EPG fragment has arrived If the Include EPGData boolean parameter is set to TRUE when StartEPGListening was Called this callback also returns the actual unmodified EPG data This callback is triggered each time a new EPG fragment arrives in the stream Parameters Caller in Interface for which this callback was registered bearerID in Identifies the bearer for which the EPG was updated pEPGName in A pointer to the NULL terminated string containing the identifying name of the EPG that has been updated pEPGData in A pointer to the unmodified raw EPG data as it was delivered This parameter may be NULL if the IncludeEPGData parameter was set to FALSE StartEPGListening was called when pContext in User context data that is supplied when the callback method is registered Comments If multiple bearers are associated with the current Program Guide Manager the bearerlD parameter is used to identify the bearer to wh
75. decryption of a service has failed Parameters Caller in Interface for which this callback was registered pContentProtectionInfo in The content protection info that might be needed by the application to successfully perform purchase of the required rights to decode the service pContext in User context data that is supplied when the callback method is registered Comments See Also Methods RegisterContentProtectionCallback XAresult RegisterContentProtectionCallback XADTVContentProtectionItf f self xaDTVContentProtectionCallback Callback void pContext Description Sets the callback for content protection event notifications No keys available to decrypt the service Pre conditions None Parameters self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None See Also xaDTVServiceContentProtectionCallback 7 2 XADTVPlayerTimedObjectsitf Description XADTVPlayerTimedObjectsItf is used to select the text or object streams for the service This interface is only functional if the corresponding stream is previously sele
76. e XAuint32 pValue XAresult GetContents XADTVProgramGuideQueryItf self XAuint32 serviceID XAuint32 pNumberOfContents XAuint32 pContents XAresult GetContentStringAttrib XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 stringAttribute XAuint32 pStringLength XAchar pStringValue XAresult GetContentIntAttrib XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 intAttribute XAuint32 pIntValue XAresult GetContentTimeAttrib XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 timeAttribute XAtime pTimeValue XAresult GetPurchaseBundlesOfService XADTVProgramGuideQueryItf self XAuint32 serviceID XAuint32 pNumberOfBundles XAuint32 pBundles XAresult GetPurchaseBundlesOfContent XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 pNumberOfBundles XAuint32 pBundles XAresult GetAl1lPurchaseBundles XADTVProgramGuideQueryItf self XAuint32 pNumberOfBundles XAuint32 pBundles XAresult GetServicesOfPurchaseBundle XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 pNumberOfServices XAuint32 pServices XAresult GetContentsOfPurchaseBundle XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 pNumberOfContents XAuint32 pContents XAresult GetSubscribedPurchaseBundles XADTVProgramGuideQueryItf self XAuint32 pNumberOfBundles XAuint32
77. e XA_BUFFER_INSUFFICIENT t Comments The caller of this method is responsible for allocating the plnternetConnections array See Also XADTVSourceMulticastl tf J oin XADTVSourceUnicastl tf Connect XADTVMulticastGroupI nfo and XADTVUnicastConnectl nfo RegisterBearerChangeCallback XAresult RegisterBearerChangeCallback XADTVSourceUtilitiesItf self xaDTVSourceBearerChangeCallback Callback void pContext Description Sets the callback for bearer property change event notifications Is generated when a bearer is added removed or when bearer state changes Pre conditions None Parameters self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA RESUL e XA_ RESUL SUCCESS _PARAMETER_INVALID Comments None See Also xaDTVSourceBearerChangeCallback 8 Macros and Typedefs 8 1 Structures 8 1 1 XADataLocator_DTVService typedef struct XADataLocator_DTVService_ XAuint32 locatorType XAObjectIt service XADataLocator_ DTVService Fields include Fieid Description s O locatorType Locator type which must be XA_DATALOCATOR_DTVSERVICE for this structure The DTV service obj
78. e e tans e ate ea eee 13 4 2 MINIMUM REQUIREMENTS 0cccceeeeeeeeeeee cece ttrt eee ee eens ee ee eases eeeeeneeeeaeaeaeeeenes 14 4 3 OPENMAX AL DIGITAL TV EXTENSION USECASES 0cceeeee testes test eee eeeeeeeaenaeeas 15 4 3 1 Live Broadcasted Playback ccceceee eee e eee eee eee ee eae ee eae ee tae ee eae 15 4 3 2 Live Broadcasted Playback with Time Shift cceeeeeee eee ee eee eee 16 4 3 3 Live Broadcasted Playback with Time Shift alternative 00068 17 4 3 4 Live Broadcasted Playback with Time Shift and Recording 5 18 4 3 5 Live Broadcasted Playback Switching ServiCe ccceeeeeee ee eee 19 4 3 6 Record Broadcasted Content cece eee eect eee eee neta teeta teeta e nena eee 20 4 3 7 Simultaneous Record and Playback of Broadcasted Content 21 4 3 8 Retrieval and Query of the Electronic Program Guide EPG 22 4 3 9 Live Playback Initiated by the EPG cee ceee eect cette teens teens 23 4 3 10 Data Delivery tier cient eee VE AAA tees eee EEA AE ENE 24 4 3 11 Purchasing Initiation ssssssesssrsessrrserrrrerrrrerrrsrrrrsrrrrtrrrreerrrrrrt 25 44 MEMORY MANAGEMENT has renna cinta dinate a EAE EAA EAA sta dinate an A AA AE end 26 5 ENGI NE EXTENSI ONS 27 PART 2 API REFERENCE 28 6 OBJECT DEFINITIONS 29 6 1 DTVSOURCE OBJECT a ea aa a a a aea Era Eaa aa A Ea Era aa a AaS Ea OaE aaa aai 29
79. ecification XADynamicl nterfaceManagementitf See the OpenMAX AL Specification XADTVServicel nputSelectorltf See section 7 9 XADTVContentProtectionltf See section 7 1 Applicable Optional Interfaces XAConfigExtensionsltf See the OpenMAX AL Specification XADTVServiceDataDeliveryltf See section7 8 7 Interface Definitions This section documents all the interfaces and methods in the API Almost all methods generate result codes whether synchronously or asynchronously Such methods must return either one of the explicit result codes listed in the method s documentation or one of the following result codes XA_RESULT_RESOURCE_ERROR XA_RESULT_RESOURCE_LOST XA_RESULT_INTERNAL_ERROR XA_RESULT_UNKNOWN_ERROR XA_RESULT_OPERATION_ABORTED See the OpenMAX AL specification for a full definition of these result codes 7 1 XADTVContentProtectionltf Description XADTVContentProtectionItf is used to monitor and control the content protection for the service No access to the content protection algorithms or decrypted keys is provided This interface exists on the service the player and the recorder object The interface is used on the various objects depending on what type of content protection is used The justification to let this interface be available on the service in addition to the player and recorder objects is to allow flexibility on where to hand
80. ect created by the Engine 8 1 2 XADTVContentProtectioninfo typedef struct XADTVContentProtectionInfo_ XAchar pUri XAuint32 reason XAuint32 streamIndex XADTVContentProtectionInfo This structure is used for reporting a decryption error due to missing rights Field Description pUri The URI needed to get new or updated rights for the streams reason The reason for the event Refer to the XA_DTV_CONTENT_PROTECTION macros streamIndex This field indicates the stream index for the stream missing rights To find out what kind of stream and to retrieve more information about the stream use the xAStreamInformationItf together with this index parameter 8 1 3 XADTVinternetConnectionInfo typedef struct XADTVInternetConnectionInfo_ XAchar connectionName 256 void pInternetConnection XADTVInternetConnectionInfo Field Description connectionName The NULL terminated plaintext name of this internet connection Field Description pl nternetConnection The system specific internet connection associated with the connectionName This internet connection is used in the XADTVSourceMulticastItf and XADTVSourceUnicastItf when connecting to a streaming service 8 1 4 XADTVLocalAssociatelnfo typedef struct XADTVLocalAssociateInfo_ XAchar uri 256 XADTVLocalAssociateInfo XADTVLocalAssociateInfo represents a local association URI Field Descrip
81. een sessions The only required use of the data returned is to use it as input to the setEPG method This method is asynchronous and when the save is complete the callback function supplied is called Pre An existing EPG conditions Parameters self in Interface self reference bearerID in The ID of the tuned bearer pURI in A pointer to a NULL terminated string containing a URI identifying a location where to save the EPG pContext in User context data that is supplied when the callback method is registered GetEPG Return value The return value can be one of the following e XA_RESULT_SUCCESS XA_RESULT_PARAMETER_INVALID Comments See Also SetEPG I SEPGListeningEnabled XAResult ISEPGListeningEnabled XADTVProgramGuideUpdateItf self XAuint32 BearerID XAboolean pIsListening Description Queries the specified bearer to see whether it is currently listening for EPG data anion Mee Parameters self in Interface self reference BearerID in The ID of the bearer to query plsListening out The listening state of the bearer Return value The return value can be one of the following XA_RE SUL SUCE XA_RE SUL PARA ESS ET ER_INVALID Comments See Also EnableEPGListening DisableEPGLi
82. efined for string attributes Value Description XA_DTV_EPG_ATTR_STR_DESCRIPTION Content description XA_DTV_EPG_ATTR_STR_GENRE Content genre XA_DTV_EPG_ATTR_STR_NAME Name of content XA_DTV_EPG_ATTR_STR_PARENTAL_RATING The parental rating Value Description T XA_DTV_EPG_ATTR_STR_PARENTAL_RATING_SYSTEM Parental rating system used XA_DTV_EPG_ATTR_STR_PRICE_CURRENCY Currency in ISO 4217 format XA_DTV_EPG_ATTR_STR_WEBSHOP_URL URL to webshop associated with the current EPG item 8 2 4 define XA_DTV_EPG_ATTR IME_END define XA_DTV_EPG_ATTR_TIME_START 0x00000010 XA_DTV_EPG_ATTR_TIME XAuint32 0x00000011 XAuint32 The macros are defined for time attributes only for contents and purchase bundles Value Description XA_DTV_EPG_ATTR_TIME_END End time XA_DTV_EPG_ATTR_TIME_START Start time 8 2 5 define XA_DTV_EPG_OPR_COMP_EQUAL define XA_DTV_EPG_OPR_COMP_GREATER_THAN define XA_DTV_EPG_OPR_COMP 1ESS_THAN XA_DTV_EPG_OPR_COMP XAuint8 2 XAuint8 3 XAuint8 1 The macros are defined for comparison operations Value Description ESS _THAN XA_DTV_EPG_OPR_COMP The first is less than the second XA_D
83. en the callback method is registered Comments See Also Methods EnableScan XAresult EnableScan XADTVSourceBroadcastiItf self XAboolean enable XAuint32 bearerID void pContext Description Enables or disables a service scan on a specified bearer Pre None conditions Parameters self in Interface self reference EnableScan enable in Set to TRUE if the scan is to be enabled set to FALSE if the scan is to be disabled bearerID in The callback method to call on each service found during the scan pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None SetScanI nfo XAresult SetScanInfo XADTVSourceBroadcastiItf self XAuint32 bearerID XADTVSourceScanInfo pScanInfo Description Tunes the specified bearer to the supplied ScanInfo Pre conditions None Parameters self in Interface self reference bearerID in The bearer ID of the bearer to tune pScaninfo in The information returned from the scan This data is used to tune the bearer to a specific service or multiple services SetScanI nfo Return value XA_RESULT_PE
84. ent DTV implementations do time shifting It is up to the application implementing the end user solution to decide how time shift should be implemented The recommendation is however to follow the usecase illustrated in section 4 3 2 since the XADTVPlayerTimeShiftControlltf provides functionality e g time shift callback enable disable that is unavailable in this use case See below for an illustration of this alternative concept prates Sa i KY are XADynamicSourceSinkChangeltf DTV Source XADTVSourceUtilities Itt Filesink DataSource XASeekltf Filesink Recorder Recorditf APlayltf ataSource Service XADTVServicelnputSelector tf XADTVRecorderModeltf Figure 5 Live Broadcasted Playback with Time Shift alternative The Player illustrated in this scenario is a standard OpenMAX AL player object 4 3 4 Live Broadcasted Playback with Time Shift and Recording This usecase illustrates simultaneous recording of playback and time shifted content The time shift functionality resides on the player object so that the time shift does not interfere with the recording The Service outputs the same information to both the Player and the Recorder RRR ES XADTYPlayerTimeShiftControlitf XADynamicSourceSinkChangeltf XxADTVSourceBroadcasthtf Pat hy Player r XARecorditf DTV Source XAPlayltf 4 Service Recorder XADTVSo
85. ethod takes a content or service ID collects the necessary connection data and outputs the data in the supplied pServiceConnectionI nfo struct Pre None conditions Parameters self in Interface self reference IDType in Indicates the type of ID supplied See the XA_DTV_EPG_CONTENT_ID_TYPE macros for more information ID in The ID for the content to generate the connection info from This ID cannot be a bundle ID CreateServiceConnectionl nfo piInternetConnection in This parameter is used for unicast or multicast connections that require an internet connection If NULL is used the implementation will select a connection automatically For technologies not requiring an internet connection this parameter is ignored See the XADTVSourceutilities tf Queryl nternetConnections method for more information on retrieving system internet connections pServiceConnectionInfo out The generated connection info containing data to be used to configure the DTVSource and Service objects Return The return value can be one of the following ees e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also XADTVSourceutilities tf Queryl nternetConnections 7 6 XADTVProgramGuideUpdateltf Description This interface is the main interface for the program guide It is responsible for initializa
86. gital TV implementation is not mandated to support any of the capabilities See Also 7 3 XADTVPlayerTimeShiftControlltf Description XADTVPlayerTimeShiftControlitf iS used to control the time shift parameters for the service The system must be able to store at least 60 seconds of time shift data This interface is a mandated interface of the Player See section 6 2 object Prototype XA_API extern const XAInterfaceID XA_IID_DTVPLAYERTIMESHIFTCONTROL struct XADTVPlayerTimeShiftControlItf_ typedef const struct XADTVPlayerTimeShiftControlItf_ const XADTVPlayerTimeShiftControlitf struct XADTVPlayerTimeShiftControlitf_ XAresult SetCacheLength XADTVPlayerTimeShiftControlItf self XAboolean ringBuffer XAuint32 pBufferSize XAresult RegisterTimeShiftInfoCallback XADTVPlayerTimeShiftControlItf self xaDTVTimeShiftInfoCallback Callback XAMillisecond Period void pContext XAresult GetCacheLength XADTVPlayerTimeShiftControlItf self XAuint32 pBufferSize XAboolean ringBuffer XAresult GetMaximumCacheLength XADTVPlayerTimeShiftControlItf self XAuint32 pMaxSize XAresult SetEnabled XADTVPlayerTimeShiftControlItf self XAboolean Enable XAresult IsEnabled XADTVPlayerTimeShiftControlItf self XAboolean pEnabled XAresult SaveAvailableData XADTVPlayerTimeShiftControlItf self XAchar pUri Interface ID 6822a180 c4
87. h in The length of the data pointed to in the pData pointer PresentationTime in Media position of suggested render time in milliseconds since start of rendering The XAPlayItf GetPosition method can be used to retrieve the current media position That retrieved position can then be used together with this parameter to calculate when to present the timed object PresentationDuration in The duration of the object on screen PositionHintX in X position hint for where to render the object PositionHintY in Y position hint for where to render the object pContext in User context data that is supplied when the callback method is registered Comments See Also XAPlayItf GetPosition Methods GetCapabilities XAresult GetCapabilities XADTVPlayerTimedObjectsItf self XAuint32 pCapabilities Description Gets information about the capability of the device Returns whether the implementation is capable of rendering timed objects without application interaction endo NONG Parameters self in Interface self reference pCapabilities out The capabilities of the device Defined as a bitmask with implementation specific rendering capabilities See the XA_DTV_PLAYER_TIMED_OBJECTS macro below for more information Return value The return value can be one of the following e XA_RESULT_SUCCESS
88. he Program Guide Manager See section 6 3 object Prototype XA_API extern const XAInterfaceID XA_IID_DTVPROGRAMGUIDEPURCHASE struct XADTVProgramGuidePurchaselItf_ typedef const struct XADTVProgramGuidePurchaseItf const XADTVProgramGuidePurchaseltf struct XADTVProgramGuidePurchaselItf_ XAResult GetPurchaseURI XADTVProgramGuidePurchaselItf self XAuint32 bearerID XAuint32 IDType XAuint32 ID Xauint32 pURILength XAchar pURI Interface ID 4f664a20 ba4f 11de 8a39 0800200c9a66 Callbacks None Methods GetPurchaseURI XAResult GetPurchaseURI XADTVProgramGuidePurchaseltf self XAuint32 bearerID XAuint32 IDType XAuint32 ID Xauint32 pURILength XAchar pURI yi Description Gets the purchase URI associated with the supplied ID Pre conditions A Program guide must exist and be parsed Parameters self in Interface self reference bearerID in The ID of the associated bearer IDType in Indicates the type of ID supplied See the XA_DTV_EPG_CONTENT_ID_TYPE macros for more information ID in The ID for the content bundle or service to retrieve the URI from pURILength in out The length of the NULL terminated string containing the purchase URI If the pURI parameter is NULL this method returns the length of the URI including NULL termination that is going to be returned As an in parameter this parameter indicates the leng
89. ich the Program Guide fragment belongs See Also XADTVProgramGuideUpdatelItf StartEPGListening xaEPGGetEPGCallback typedef void XAAPIENTRY xaEPGUpdateCallback XADTVProgramGuideUpdateItf Caller XAuint32 bearerID void pContext Description Notifies the application that the get of an EPG is complete Parameters Caller in Interface for which this callback was registered bearerID in Identifies the bearer on which the update was received pContext in User context data that is supplied when the callback method is registered Comments See Also Get EPG Methods EnableEPGListening XARe sult EnableEPGListening XADTVProgramGuideUpdateItf self XAuint32 bearerID XAboolean IncludeEPGData void pContext Description Starts the listening for EPG data using a specified tuned bearer identified with the bearerID supplied It is possible to associate multiple bearers to a single Program Guide Manager object When multiple bearers are associated with the Program Guide Manager each bearer associated is identified by its unique bearerl D _ Pre The bearerID supplied must identify a previously tuned bearer See the conditions a ntvsourceBroadcastItf S etScanInfo for information about tuning a broadcast bearer The EPG object is not limited to handling broadcast bearers Parameters Self in
90. iesItf self XAuint32 pNumberOfInternetConnections XADTVInternetConnectionInfo pInternetConnections Description Queries for all available internet connections The internet connections returned by this method are only used when connecting a multicast or unicast connection using the XADTVSourceMulticastItf Join Or XADTVSourceUnicastItf Connect methods The structures which use the internet connection are XADTVMulticastGroupInfo and XADTVUnicastConnectInfo Pre None conditions Parameters self in Interface self reference pNumberOfInternetConnections in out As an in parameter this parameter defines the length of the preallocated plnternetConnections array As an out parameter this parameter is set to the number of available internet connections in the system pinternetConnections out An array of all internet connections currently available in the system If this parameter is set to NULL the pNumberOfInternetConnections parameter will be set to the number of available connections The number of internet connections available is variable and might change during run time This implies that the pNumberOfInternetConnections parameter might be invalid and should only be used as an indication of the amount of connections available Dain The return value can be one of the following value e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID
91. igital TV service data Pre None conditions Parameters Self in Interface self reference RecordMode in The record mode as described by the capabilities of the implementation by a call to QueryRecordModeCapabilities Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also QueryRecordModeCapabilities GetDTVRecordMode XAresult GetDTVRecordMode XADTVRecorderModelItf self XAuint32 pRecordMode E Description Gets the current record mode Pre None conditions Parameters Self in Interface self reference pRecordMode out The current recording mode Return value The return value can be one of the following e XA RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also SetDTVRecordMode 7 8 XADTVServiceDataDeliveryltf Description XADTVServiceDataDeliveryItf is used to handle data delivery associated with the service For the file delivery to work the service must be connected to a data source using the XADTVServicelInputSelectorItf prior to calling the methods in this interface It is up to the implementation to map the functionality of this interface to the underlying delivery mechanisms of the connected bearers that provide file delivery This interf
92. in Interface self reference bearerID in Identifies a unicast bearer that should disconnect from the server Return value The return value can be one of the following ER_INVALID e XA_RESULT_SUCCESS e XA_RESULT_PARAMET e XA_RESULT_PR ECONDITIONS_VIOLAT ira J Comments GetUnicastBearerConnectionState XAresult GetUnicastBearerConnectionState XADTVSourceUnicastiItf self XAuint32 bearerID XAuint32 pState Description Gets the connection state and status for a unicast bearer Pre conditions None Parameters self in Interface self reference bearerID in Identifies a unicast bearer as returned by the Connect method pState out The connection state as defined by the XA_DTV_UNICAST_CONNECTION_STATE macros Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments RegisterUnicastConnectionStateChangedCallback XAresult RegisterUnicastConnectionStateChangedCallback XADTVSourceUnicastiItf self xaDTVUnicastConnectionStateChangedCallback Callback void pContext Description This method registers a callback event function that will receive callbacks related to changed connection state for a unicast bearer Pre conditions None Pa
93. in The service ID stringAttribute in See XA_DTV_EPG_ATTR_STR_ Macros pStringLength in out As an input specifies the length of the pStringValue array As an output specifies the length of the returned string May be zero if not sent pStringValue out Value of the given stringAttribute Return value The return value can be one of the following e XA RESUL e XA RESUL _PARAI S UCC ESS ETER_INVALID e XA RESUL F EAT URE_UNSUPPORTE 0 e XA_RESUL B UFF ER_INSUFFICII Fl Comments array The caller of this method is responsible for allocating the pStringValue GetServicel ntAttrib XAresult GetServiceIntAttrib XADTVProgramGuideQueryItf self XAuint32 serviceID XAuint32 intAttribute XAuint32 pValue Description Gets the value of the given integer attribute on the given service If the given intAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED is returned Pre None conditions Parameters self in Interface self reference serviceID in The service ID stringAttribute in See XA_DTV_EPG_ATTR_INT_ macros intAttribute in May be zero if not sent pValue out Value of the given intAttribute Return value The return value can be one of the following
94. ions Parameters Self in Interface self reference bundleID in The bundle ID pNumberOfServices in out As an input specifies the length of the pServices array AS an output specifies the returned number of services Zero if the given bundle does not include any services pServices out IDs of the services GetServicesOfPurchaseBundle Return value The return value can be one of the following ER_INVALID e XA_RE e XA_RE e XA_RE iSULT_SUCCESS iSULT_PARAMET SUL _BUFFER_INSUFFICIENT Comments array The caller of this method is responsible for allocating the pServices GetContentsOfPurchaseBundle XAresult GetContentsOfPurchaseBundle XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 pNumberOfContents XAuint32 pContents Description Gets the content IDs that are included in the given purchase bundle Pre None conditions Parameters self in Interface self reference bundleID in The bundle ID pNumberOfContents in out As an input specifies the length of the pContents array As an output specifies the returned number of content IDs Zero if the given bundle does not include any content IDs pContents out IDs of the contents Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVAL
95. ions Parameters self in Interface self reference pMulticastGroupInfo in Holds information needed to join a specific multicast group The parameter identifies a multicast technology and group information pBearerID out Holds after a successful join the associated bearerlD for the connected multicast transmission J oinMulticastGroup Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_CONTENT_NOT_FOUND Comments LeaveMulticastGroup XAResult LeaveMulticastGroup XADTVSourceMulticastItf self XAuint32 bearerID Description Leaves a multicast group associated with a bearerID Pre conditions The bearer identified by the bearerlD parameter must be a member of a multicast group Parameters Return value self in Interface self reference Identifies a multicast bearer that should leave its associated multicast group bearerID in The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMET KR _INVALID ea es e XA_RESULT_PRECONDITIONS_VIOLAT Comments GetMulticastBearerConnectionState XAresult GetMulticastBearerConnectionState XADTVSourceMulticastiItf self XAuint32 bearerID XAuint32 pState
96. iptor and plsCached arrays Download XAresult Download XADTVServiceDataDeliveryItf self XADTVServiceDataDeliveryFileDescriptor pFileDescriptor XAchar pUri void Context Description Requests a download of a specified file The download progress is notified to the application using the xaDTVServiceFileDownloadProgressCallback callback Pre None conditions Parameters self in Interface self reference pFileDescriptor in The file descriptor associated with the file to download puri in A NULL terminated string containing the URI to where to save the file Callback in The callback method to receive the progress notifications Context in User context data that is to be returned as part of the callback method Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments Download See Also xaDTVServiceFileDownloadProgressCallback AbortDownload XAresult AbortDownload XADTVServiceDataDeliveryItf self XADTVServiceDataDeliveryFileDescriptor pFileDescriptor Description Aborts a current download in progress After this method is successfully called a final notification is sent to the application thru the xaDTVServiceFileDownloadProgressCallback callback indicating that the download was aborted
97. le content protection Please refer to the Data Delivery usecase in section 4 3 6 Otherwise the most common case when this interface is used is on the player or recorder objects Depending on the service provider it is possible that only some of the streams for a service will be encrypted while others are unencrypted The callback always includes the needed purchase information from the EPG data supplied to the input selector if available The callback returns the purchase information when applicable There exists no explicit connection to the EPG as it is not mandated to always have the EPG instantiated This interface is a mandated interface on the Service See section 6 5 Player See section 6 2 and Recorder See section 6 4 objects Prototype XA_API extern const XAInterfaceID XA_IID DTVCONTENTPROTECTION struct XADTVContentProtectionItf_ typedef const struct XADTVContentProtectionItf_ const XADTVContentProtectionItf struct XADTVContentProtectionItf_ XAresult RegisterContentProtectionCallback XADTVContentProtectionItf f self xaDTVContentProtectionCallback Callback void pContext Interface ID cdae0f20 ba50 11de 8a39 0800200c9a66 Callbacks xaDTVContentProtectionCallback typedef void XAAPIENTRY xaDTVContentProtectionCallback XADTVContentProtectionItf Caller XADTVContentProtectionInfo pContentProtectionInfo void pContext Description Notifies the application that
98. mentation The Recorder object follows the mandating rules from the OpenMAX AL specification If the Media Player Recorder Profile is implemented in Open MAX AL then the Recorder object is mandated 3 Only one of the interfaces marked is mandated If one of them is implemented the other ones become optional Please refer to section 7 in this specification and the OpenMAX AL 1 1 specification for complete definitions of the interfaces in the table
99. n additional extension interface that adds functionality related to recording digital TV transmissions The stream information interface and content protection interface as defined on the player object are also mandated for the recorder object when recording digital TV transmissions This object is not mandated Mandated Interfaces All the mandated interfaces on the standard recorder object See the OpenMAX AL Specification XADTVRecorderModeltf See section7 7 XADTVContentProtectionltf See section 7 1 Applicable Optional Interfaces XAConfigExtensionsltf See the OpenMAX AL Specification 6 5 Service Object Description The service object is an abstraction of a TV channel called service in this document The Service object acts as a media player source The application can use this object to tell the DTVSource what bearer technology to use The service receives the content from the DTVSource hides the underlying decryption implementation and sends the content to a player and or a recorder The service also allows the application to access extended data such as pod casts and the generic file delivery data carousel The criteria for adding an interface to the service object is that it affects the shared content for all consumers All other interfaces reside on the player or recorder There is one service object per content received This is a mandatory object Mandated Interfaces XAObjectItf See the OpenMAX AL Sp
100. n value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pBundles array GetAllPurchaseBundles XAresult GetAl1lPurchaseBundles XADTVProgramGuideQueryItf self XAuint32 pNumberOfBundles XAuint32 pBundles i Description Gets all the available purchase bundles listed in the program guide Pre None conditions Parameters self in Interface self reference pNumberOfBundles in out As an input specifies the length of the pBundles array As an output specifies the returned number of bundles Zero if the given content does not belong to any bundle pBundles out IDs of the bundles Return value e XA RESUL ET e XA_RESULT_PARAI e XA RESUL ER_INVALID The return value can be one of the following _SUCCESS _BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pBundles array GetServicesOfPurchaseBundle XAresult GetServicesOfPurchaseBundle XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 pNumberOfServices XAuint32 pServices Description Gets the services included in the specified purchase bundle Pre None condit
101. nteger attribute operations Value Description XA_DTV_EPG_ATTR_INT_PERMISSION Use XA_DTV_EPG_PERMISSION_ macros as values XA_DTV_EPG_ATTR_INT_SERVICE_TYPE Type of service 8 2 2 XA_DTV_EPG ATTR_INT_PRICE define XA_DTV_EPG_ATTR_INT_PRICE_DECIMAL PART XAuint32 0x00000051 define XA_DTV_EPG_ATTR_INT_PRICE_INTEGER_PAR XAuint32 0x00000050 The macros are defined for additional integer attributes for purchase bundles Value Description XA_DTV_EPG_ATTR_INT_PRICE_DECIMAL PART Decimal part of the price XA_DTV_EPG_ATTR_INT_PRICE_INTEGER_PAR Integer part of the price 8 2 3 XA_DTV_EPG ATTR_STR define XA_DTV_EPG_ATTR_STR_DESCRIPTION XAuint32 0x00000002 define XA_DTV_EPG_ATTR_STR_GENRE XAuint32 0x00000003 define XA_DTV_EPG_ATTR_STR_NAME XAuint32 0x00000001 define XA_DTV_EPG_ATTR_STR_PARENTAL_RATING XAuint32 0x00000004 define XA_DTV_EPG_ATTR_STR_PARENTAL_RATING_SYSTEM XAuint32 0x00000005 define XA_DTV_EPG_ATTR_STR_PRICE_CURRENCY XAuint32 0x00000041 define XA_DTV_EPG_ATTR_STR_WEBSHOP_URL XAuint32 0x00000040 The macros are d
102. of contributors in order of company name then contributor s surname including the respective companies represented at the time of their contribution Robert Alm Ericsson Editor G ran Roth Ericsson Harald Gustafsson Ericsson Hakan Gardrup Ericsson Erik Noreke Ericsson Joakim Roubert Ericsson Yeshwant Muthusamy Nokia Matti Paavola Nokia Isaac Richards NVIDIA Jim Van Welzen NVIDIA Tom Longo Qualcomm Steven Winston SRS Labs 2 OpenMAX AL Digital TV extension features The Digital TV extension provides technology neutral access to broadcast unicast and multicast delivery methods for Digital TV The extension is modularized by using objects to represent each part of a full Digital TV implementation The extension s modules and their high level intended capabilities are e Service Object Acts as data source for the player It uses the Digital TV Source object to retrieve data e Digital TV Source Communicates with the reception hardware and streaming servers This object can handle broadcasts multicasts and unicasts e Program Guide manager Handles queries on the program guide and provides service information to the application Of these objects only the Service and the Digital TV Source objects are mandated as those objects act as data source for the player However it is highly encouraged to implement the program guide manager object to get a feature rich Digital TV implementation If program g
103. omments See Also 7 10 XADTVSourceBroadcastlitf Description XADTVSourceBroadcastItf is used to scan for broadcasts within a bearer This interface is a mandated interface on the DTVSource object See section 4 1 1 If one bearer technology is supported all other bearer technology interfaces XADTVSourceBroadcastiItf XADTVSourceLocaliItf XADTVSourceMulticastItf and XADTVSourceUnicastItf are optional to support Scanning for services is accomplished by the following steps also shown in Figure 14 below 1 Find out the bearer ID of the broadcast bearer you want to scan by using the XADTVSourceUtilitiesItf GetStaticBearers method 2 Check the state of that bearer and if needed enable the bearer by changing its power state to XA_DTV_BEARER_STATE_ON by using the XADTVSourceUtilitiesItf SetBearerState method 3 Register the scanning callback function by calling the XADTVSourceBroadcastItf RegisterScanningCallback method 4 Start the scanning by calling the XADTVSourceBroadcastItf EnableScan TRUE method 5 For each service or multiplex found the callback registered in step 3 will be called by the implementation with information about the found service or multiplex It is up to the application to save the found services or multiplexes to be used later 6 The scanning may be cancelled by the application at any time by calling the XADTVSourceBroadcastItf EnableScan FALSE me
104. on interface is a prerequisite for the Digital TV extension This interface adds methods to be used to query the engine of the supported stream types A typical scenario for using this interface is to be able to filter out multiplexes that are unsupported by the implementation before they are shown as available to the user This saves the application some trial and error attempts using the unsupported multiplexes In the ScanInfo structure returned during a scan there exists a MIME type field identifying the multiplex Cross check this MIME type with the capabilities returned using the xAStreamTypeHandlingCapabilitiesItf PART 2 API REFERENCE 6 Object Definitions The new DTV specific DTVSource Program Guide Manager and Service objects below are created using the CreateExtensionObject engine method in the Engineltf defined in the OpenMAX AL specification 6 1 DTVSource Object Description This object holds functionality related to the Digital TV Sources available and poses an abstract interface towards bearer technologies keeping them agnostic to future changes and additions The DTVSource object exposes multiple interfaces each representing a reception technology or utility methods Besides the reception technology interfaces there exists a generic utility interface to be able to perform power management and retrieve device capabilities Each bearer regardless of technology is identified with a unique ID This obje
105. pBundles XAresult GetBundleStringAttrib XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 stringAttribute XAuint32 pStringLength XAchar pStringValue XAresult GetBundleIntAttrib XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 intAttribute XAuint32 pValue XAresult GetBundleTimeAttrib XADTVProgramGuideQueryItf self XAuint32 bundleID XAuint32 timeAttribute XAtime pTimeValue XAresult CreateServiceConnectionInfo XADTVProgramGuideQueryItf self XAuint32 IDType XAuint32 ID void pInternetConnection XADTVServiceConnectionInfo pServiceConnectionInfo Interface ID 5cbd85b0 af5c 11de 8a39 0800200c9a66 Callbacks None Methods ANDServiceFilterString XAresult ANDServiceFilterString XADTVProgramGuideQueryItf self XAuint32 stringAttribute XAchar pStringValue yi Description Adds a new string filtering criteria by combining it with the current found as a substring in the given attribute s value Used by GetServices method existing criteria Match is positive when the given stringAttribute is Pre None conditions Parameters Self in Interface self reference stringAttribute in The new string attribute to be ANDed to the existing criteria ANDServiceFilterString pStringValue in The new string to be ANDed to the existing criteria Return value
106. rameters self in Interface self reference Callback in Identifies the callback function to receive callbacks about the unicast bearer connection state pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments 7 14 XADTVSourceutilitiesitf Description XADTVSourceUtilitiesItf is used to query and control the bearers This interface is a mandated interface on the DTVSource See section 0 object Prototype XA_API extern const XAInterfaceID XA_IID DTVSOURCEUTILITIES struct XADTVSourceUtilitiesItf_ typedef const struct XADTVSourceUtilitiesItf_ const XADTVSourceUtilitiesItf struct XADTVSourceUtilitiesItf_ XAresult GetNumberAvailableStaticBearers XADTVSourceUtilitiesItf self XAuint32 pNumberOfStaticBearers XAuint32 pBearerIDs XAresult GetBearerInformation XADTVSourceUtilitiesItf self XAuint32 bearerID XADTVSourceBearerInfo pBearerInformation XAresult SetBearerState XADTVSourceUtilitiesItf self XAuint32 bearerID XAuint32 powerState XAresult GetSignalStrength XADTVSourceUtilitiesItf self XAuint32 bearerID XApermille SignalStrength XAresult GetNetworkTime XADTVSourceUtilitiesItf self XAuint32 bearerID XAtime pTime
107. rant any licenses under any Necessary Patent Claims covering SAMPLE CODE and EXAMPLES Khronos OpenKODE OpenVG OpenSL ES and OpenMAX are trademarks of the Khronos Group Inc OpenCL is a trademark of Apple Inc COLLADA is a trademark of Sony Computer Entertainment Inc and OpenGL is a registered trademark of Silicon Graphics Inc used under license by Khronos All other product names trademarks and or company names are used solely for identification and belong to their respective owners Table of Contents TABLE OF CONTENTS 3 PART 1 USER MANUAL 6 1 OVERVIEW 7 1 1 PURPOSE OF THIS DOCUMENT ccccecscecenenescececeeseeetneneneetenseseesenenenensnseanaranaes 7 1 1 1 About the Khronos GrouP cece cece eee eee tate nents 7 1 2 NTENDED AUDIENCE 3 5 Juoni de ene le tale dees MWe tae betwee a a tei dawns awed 7 1 3 THE OPENMAX AL DIGITAL TV EXTENSION 0 0ceee cece eee ee testes eee e eee eeeeeeeaenaenaenaes 8 142 ACKNOWLEDGEMENTS a eaa Aaaa EAA AAEE Wena EE AA AEA Wedau meek aE NA E AENA 9 2 OPENMAX AL DI GITAL TV EXTENSION FEATURES 10 3 DESIGN OVERVIEW 11 4 FUNCTIONAL OVERVIEW 12 4 1 OBJECT OVERVIEW osana a a aa leave en cia aaa E Ea ae can vdaen a E i aa a ii 12 4 1 1 Digital TV Source Object eee eee eee eee eae teeta nena eee 12 4 1 2 Program Guide Manager Object c eceee cece e eee eee eee ee eae ee eae ee eae 13 4 1 3 Service object 0 cece een een eens eee e eae e ea
108. rce to the Player using the XADynamicSourceSinkChangeltf 8 On the Player object issue a Play using the XAPlayItf 4 3 6 Record Broadcasted Content This usecase illustrates the interfaces and objects involved in setting up a recording session This usecase is based on the Live Broadcasted Playback usecase above Ch ates XADTVSourceBro adcastitf DTV Source ARecorditf Ne XADynamicSourceSinkChangeltf Service Recorder XADTVSourceUtilitiesitf XADTVServicelnputSel ectoritf XADTVRecorderModeltf Figure 8 Record Broadcasted Content 1 Follow the Live Broadcasted Playback scenario in section 4 3 1 creating a Recorder object instead of a Player object 2 Set the recorder mode by using the XADTVRecorderModeltf interface 3 Record the broadcast by using the xARecordItf interface 4 3 7 Simultaneous Record and Playback of Broadcasted Content This usecase illustrates which objects and interfaces that are needed to set up simultaneous recording and playback of the same broadcasted content The Digital TV Extension is not limited to recording the same service that is currently rendered To record one service while watching another simply create more than one service object and connect one of them to the recorder and the other one to the player Creates XADynamicSourceSinkChangeltf XADTVSourceBroadcasthf al Player xXARecorditf DTV Source XA
109. ringLength XAchar pStringValue Description Gets the value of the given string attribute on the given content If the given stringAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED is returned Pre None conditions Parameters self in Interface self reference contentID in The service ID stringAttribute in See XA_DTV_EPG_ATTR_STR_ macros pStringLength in out As an input specifies the length of the pStringValue array As an output specifies the returned string length May be zero if not sent pStringValue out Value of the given intAttribute GetContentStringAttrib Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_FEATURE_UNSUPPORTED e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pStringValue array GetContentl ntAttrib XAresult GetContentIntAttrib XADTVProgramGuideQueryItf self XAuint32 contentID XAuint32 intAttribute XAuint32 pIntValue Description Gets the value of the given integer attribute on the given content If the given intAttribute is not supported by the implementation XA_RESULT_FEATURE_UNSUPPORTED is returned Pre
110. s Description Queries information about the number of statically available bearers The statically available bearers in the system are returned as an array of bearer IDs Each available bearer has its own ID meaning that if there exist more than one bearer of the same type they will still have their own unique ID Soft bearers such as RTSP Unicast bearers are not identified in this list Soft bearers are dynamically created and returned when connected to multicast groups unicast servers or local resources It is up to the application to allocate the pBearerIDs array and the pNumberOfBearers parameter prior to calling the method Pre conditions Parameters None self in Interface self reference pNumberOfBearers in out As an input specifies the length of the pBearerIDs array As an output specifies the number of bearers currently available in the system and the length of the valid positions in the returned array Returns 0 if no bearers are available in the system pBearerIDs out Array of the Bearer IDs currently available in the system This parameter is populated by the call with the array of bearer device IDs provided that the input value of pNumberOfBearers s equal to or greater than the number of actual input bearer IDs If pNumberOfBearers is less than the number of actual input device IDs the error code XA_RESULT_BUFFER_INSUFFICIENT is returned
111. self XAuint32 pNumberOfTechnologies XAuint32 pTechnologies i Description Queries the system for supported unicast technologies The returned values represent various unicast technologies This specification only represents RTSP and HTTP by default The values supported could easily be extended and added to represent more technologies as they become available or defined Pre None conditions Parameters self in Interface self reference pNumberOfTechnologies in out As an input specifies the length of the pTechnologies array As an output specifies the number of technologies currently available in the system and the length of the valid positions in the returned array Returns 0 if no unicast technologies are available in the system If 0 is returned the input array is left untouched pTechnologies out Array of the unicast technologies currently available in the system This parameter is populated by the call with the array of technologies provided that the input value of pNumberOfTechnologies iS equal to or greater than the number of actual technologies If pNumberOfTechnologies is less than the number of actual input technologies the error code XA_RESULT_BUFFER_INSUFFICIENT is returned See the XA_DTV_UNICAST_TECHNOLOGY macros for more information solr The return value can be one of the following value e XA_RESULT_SUCCESS e XA RESULT
112. stening I sEPGStoragePersistent XAResult IsEPGStoragePersistent XADTVProgramGuideUpdatelItf self XAboolean pIsPersistent Description Queries to find out if it supports saving the EPG data persistently between sessions If the implementation does not support persistence of the EPG data between sessions and the application does not want to re download the EPG the application must use the GetEPG and SetEPG methods to retain the EPG data between runs Pre None conditions Parameters self in Interface self reference pisPersistent out Indicates whether the implementation supports persistence of the EPG data between runs Return value Comments See Also The return value can be one of the following SULT_SUCCESS e XA_RE e XA_RESULT_PARAMET ER_INVALID SetEPG GetEPG RegisterEPGUpdateCallback XAresult RegisterEPGUpdateCallback XADTVProgramGuideUpdatelItf self xaEPGUpdateCallback Callback void pContext Description Sets the callback method that is to be triggered each time a new EPG fragment arrives Pre conditions None Parameters self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value The return value can be one
113. sult List XADTVServiceDataDeliveryItf self XAuint32 NumberOfFiles XADTVServiceDataDeliveryFileDescriptor pFileDescriptor XAboolean pIsCached Description Retrieves an array of all currently known File Descriptors available for this service Note that this list is not constant and directly after connecting a service this list will be 0 It depends heavily on the DTVSource provider The ppFileDescriptor and the plsCached arrays are synchronized The plsCached array indicates whether a file described in the ppFileDescriptor is already downloaded and available in the cache Pre None conditions Parameters self in Interface self reference List NumberOfFiles in out As in parameter this parameter indicates how large array of pFileDescriptor and pIsCached entries that are allocated As out parameter this parameter tells how many entries that were filled in the pFileDescriptor and the plsCached arrays pFileDescriptor out This parameter contains the file descriptors currently available in the service pIsCached out This parameter contains an indication if the files are cached Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pFileDescr
114. tes whether there is an active service scan on a specific bearer or not The return value can be one of the following e XA_RESULT_SUCCESS XA_RESULT_PARAMETER_INVALID Return e None value Comments RegisterSourceScanningCallback XAresult RegisterSourceScanningCallback XADTVSourceBroadcastiItf self xaDTVSourceScanningCallback Callback void pContext di Description Sets the callback for scanning event notifications Pre conditions None Parameters self in Interface self reference Callback in Specifies the callback method pContext in User context data that is supplied when the callback method is registered Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments None See Also xaDTVSourceScanningCallback 7 11 XADTVSourceLocalltf Description This interface represents bearers that rely on local data An example of such a bearer is a file in the file system This interface holds methods specific to the local family This interface is a mandated interface on the DTVSource See section 0 object If one bearer technology is supported all other bearer technology interfaces XADTVSourceBroadcastiItf XADTVSourceLocalitf XADTVSourceMulticastItf and XADTVSourceUnicastItf are optional to s
115. th of the buffer supplied in the pURI parameter pURI out The NULL terminated string containing the purchase URI Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID Comments See Also 7 5 XADTVProgramGuideQueryltf Description This interface is used to query the electronic program guide for services or content of interest The program guide is abstracted with objects of three different classes services TV channel contents TV program and purchase bundles subscription package Each of these objects is represented as an ID number service ID content ID and bundle ID The main features of this interface are Methods to query services and contents GetServices GetContents Methods to query attributes such as name description start time etc of services contents and purchase bundles e g GetServiceStringAttrib Macros for commonly used attributes e g XA_DTV_EPG_ATTR_STR_NAME XA_DTV_EPG_ATTR_STR_GENRE Methods to filter service and content queries based on attribute values e g AndServiceFilterString Methods to find out to which purchase bundle a service or content belongs to e g GetPurchaseBundlesOfService This interface is a mandated interface on the Program Guide Manager See section 6 3 object Prototype XA_API extern const XAInterfaceID XA_IID_ DTVPROGRAMGUIDEQ
116. that is sold as long as such product includes significant independent work developed by the seller A link to the current version of this specification on the Khronos Group website should be included whenever possible with specification distributions Khronos Group makes no and expressly disclaims any representations or warranties express or implied regarding this specification including without limitation any implied watranties of merchantability or fitness for a particular purpose or non infringement of any intellectual property Khronos Group makes no and expressly disclaims any warranties express or implied regarding the correctness accuracy completeness timeliness and reliability of the specification Under no circumstances will the Khronos Group or any of its Promoters Contributors or Members or their respective partners officers directors employees agents or representatives be liable for any damages whether direct indirect special or consequential damages for lost revenues lost profits or otherwise arising from or in connection with these materials SAMPLE CODE and EXAMPLES as identified herein are expressly depicted herein with a grey watermark and are included for illustrative purposes only and are expressly outside of the Scope as defined in Attachment A Khronos Group Intellectual Property IP Rights Policy of the Khronos Group Membership Agreement A Member or Promoter Member shall have no obligation to g
117. thod The implementation will automatically cancel the scanning when there are no more frequencies available to scan This indicated by a last call to the callback with data containing a NULL value for the service The found services or multiplexes are later used by the application to tune the bearer to that specific service or multiplex Application XADTVSourceBroadcastitf XADTVSourceUtilities tf Chooses a suitable bearer ID GetBearerState SetBearerState RegisterScanningCallback EnableScan TRUE xaDTVSourceScanningCallback pSdanInfo_001 xaDTVSourceScanningCallback pSdanInfo_002 xaDTVSourceScanningCallback pSdanInfo_003 EnableScan FALSE Figure 14 Scanning for Broadcast Services Prototype XA_API extern const XAInterfaceID XA_IID_ DTVSOURCEBROADCAST struct XADTVSourceBroadcastItf_ typedef const struct XADTVSourceBroadcastItf_ const XADTVSourceBroadcastItf struct XADTVSourceBroadcastItf_ XAresult EnableScan XADTVSourceBroadcastitf self XAboolean enable XAuint32 bearerID void pContext XAresult SetScanInfo XADTVSourceBroadcastiItf self XAuint32 bearerID XADTVSourceScanInfo pScanInfo XAresult GetScanInfo XADTVSourceBroadcastitf self XAuint32 bearerID XADTVSourceScanInfo pScanInfo XAresult IsScanning XADTVSourceBroadcastiItf self XAuint32 bearerID XAboolean pIsScanning XAresult RegisterSourceScanningCallback
118. tion uri The URI to the local resource This could point to a file in the file system 8 1 5 XADTVMulticastGroupinfo typedef struct XADTVMulticastGroupInfo_ XAuint32 technologyIdentifier void pInternetConnection XAchar multicastGroupURL 256 XADTVMulticastGroupInfo XADTVMulticastGroupInfo represents a multicast group to join Field Description technology dentifier plnternetConnection Identifies a multicast technology as defined by the XA_DTV_MULTICAST_TECHNOLOGY macros The system specific internet connection pointer See the XADTVSourceutilities tf QuerylnternetConnections method for more information on retrieving system internet connections multicastGroupURL Information needed to join a specific multicast group example udp 224 0 1 1 50000 The multicastGroupURL member holds the multicast connection information needed to join a specific multicast group 8 1 6 XADTVServiceConnectionIinfo typedef struct XADTVServiceConnectionInfo_ XAchar serviceName 256 XAuint32 IDType XAuint32 ID void pConnectionData XADTVServiceConnectionInfo Field Description serviceName The name identifier of the service Field Description IDType ID Indicates the type of ID supplied See the XA_DTV_EPG_CONTENT_ID_TYPE macros for more information The ID for the content This ID cannot be a bundle ID
119. tion of the program guide and notification of changes The interface also has methods to get and set the current state of the program guide to and from the file system This functionality can be used to let the application supply the EPG state between sessions since retrieval of a full EPG might take a long time This interface is a mandated interface on the Program Guide Manager See section 6 3 object Prototype XA_API extern const XAInterfaceID XA_IID_ DTVPROGRAMGUIDEUPDATE struct XADTVProgramGuideUpdatelItf _j typedef const struct XADTVProgramGuideUpdateItf const XADTVProgramGuideUpdatelItf struct XADTVProgramGuideUpdatelItf_ XAResult EnableEPGListening XADTVProgramGuideUpdateItf self XAuint32 bearerID XAboolean IncludeEPGData void pContext XAResult DisableEPGListening XADTVProgramGuideUpdatelItf self XAuint32 bearerID XAResult SetEPG XADTVProgramGuideUpdateItf self XAuint32 bearerID XAchar pURI XAResult GetEPG XADTVProgramGuideUpdateItf self XAuint32 BearerID XAchar pURI void pContext XAResult IsEPGListeningEnabled XADTVProgramGuideUpdateItf self XAuint32 BearerID XAboolean pIsListening XAResult IsEPGStoragePersistent XADTVProgramGuideUpdateItf self XAboolean pIsPersistent XAresult RegisterEPGGetEPGCallback XADTVProgramGuideUpdateItf self xaEPGGetEPGCallback Callback void pContext XAresult RegisterEPGUp
120. uides are to be used the program guide manager needs to be implemented 3 Design Overview The Digital TV Extension uses an object oriented approach extending the OpenMAX AL design For specifics about how objects are handled and created refer to the OpenMAX AL specification s section on object manipulation 4 Functional Overview 4 1 Object Overview The OpenMAX AL Digital TV Extension provides the following objects e Digital TV Source object e Program Guide Manager objects e Service objects e Extended Standard OpenMAX AL Player object e Extended Standard OpenMAX AL Recorder object e Extended Standard OpenMAX AL Engine object The objects and their interfaces are illustrated in the figure below XADTV Program GuideUpdateltf MXADTVPlayerTimedObjectsitf MADTY Program GuidePurchaseltf MADTYPlayerTimeShiftControlltf MADTY Program GuideQueryltf XADTYContentProtectionitf XADTVSourceMulticastitf XADTYSourceUnicastitf KADTYSourceBroadcastitf Prog ram Guide PI ayer 7 Manager y a DTV Source Y Service Recorder XADTYSourceLocalltf XADTYSourceUtilitiesitf XADTYContentProtectionltf XADTVServiceDataDeliveryltf XADTYContentProtectionltf XADTYServicelnputSelectorltf XADTYVRecorderModeltf Figure 2 All objects and interfaces The following sections provide information about each of these objects Please refer to section 7 for more information about the individual interfaces 4 1 1 Digit
121. upport Prototype XA_API extern const XAInterfaceID XA_IID_ DTVSOURCELOCAL struct XADTVSourceLocalItf_ typedef const struct XADTVSourceLocalIt f const XADTVSourceLocaliItf struct XADTVSourceLocalItf_ XAResult Associate XADTVSourceLocalItf self XADTVLocalAssociateInfo pLocalAssociateInfo XAuint32 pBearerID XAResult Disassociate XADTVSourceLocaliItf self XAuint32 bearerID XAResult IsAssociated XADTVSourceLocaliItf self XAboolean pIsAssociated Interface ID 36f7ca67 38bd 4db2 811d bf063b543f36 Callbacks None Methods Associate XAResult Associate XADTVSourceLocallItf self XADTVLocalAssociateInfo pLocalAssociateInfo XAuint32 pBearerID Description Associates a local resource as defined in the pLocalAssociateInfo parameter The soft bearers do not have static bearer IDs so after a successful connection the pBearerID parameter value is generated and returned Pre None conditions Parameters self in Interface self reference pLocalAssociateInfo in Holds information needed to associate a local resource The parameter identifies a URI pBearerID out Holds after a successful association the associated bearerID for the connected local resource Return value The return value can be one of the following e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID
122. urceutilitiesitf XADynamicSourceSinkChangeltf XADTVServicelnputSel ectoritf XADTVRecorderModeltf Figure 6 Live Broadcasted Playback with Time Shift and Recording 1 Set up Live Broadcasted Playback with Time Shift by following the usecase illustrated in section 4 3 2 2 Create a Recorder object and associate the same service with that Recorder 3 Use the XADTVRecorderModelItf and the xARecorditf to record the service 4 3 5 Live Broadcasted Playback Switching Service This usecase illustrates the interfaces and objects involved when switching service Engine Creates sed yp Service 2 XADynamicSourceSinkChangeltf XADTVSourceBroadcasutf Player 3 w XADTVServicelnputSelectoritf Danie DTV Source XAPlayltf Service 1 XADTVSourceuUtilitiesitf XADTVServicelnputSelectoritf Figure 7 Live Broadcasted Playback Switching Service 1 Set up Live Broadcasted Playback by following the Live Broadcasted Playback scenario in section 4 3 1 Create a new Service 2 object that will represent the new service On the Player object issue a Stop using the xAPlayIt Destroy the Service 1 object Using the DTV Source object tune the bearer to the new service ee wy Connect the Service 2 object with the DTV Source using the newly tuned bearerID in the XADTVServiceInputSelectorItf 7 Connect the Service 2 object as DataSou
123. ve a service ID or content ID for content that is protected 3 Use the xXADTVProgramGuidePurchaselItf to retrieve the purchase URI The URI supplied to the application can be used to access a webpage where the required rights needed for the stream can be purchased The application initiates the purchasing of the required rights in cooperation with the user The Digital TV Extension is not involved during the purchasing transaction The purchase URI is also returned when either the Service object or the Player object tries to render protected content without valid rights 4 4 Memory management 4 4 1 General All memory to be used by the application is allocated by the application If there are exceptions to this it is stated in the individual methods or interfaces 4 4 2 Callbacks Memory that exposes information to the application in callbacks is allocated by the implementation If the application wants to save the information from the callback it must copy the data to its own buffers before the callback routine ends The implementation might deallocate the buffers used in the callback when the callback routine ends 5 Engine extensions This section defines the additional engine extensions needed to be able to implement the Digital TV extension XASt reamTypeHandlingCapabilitiesItf This interface is defined as an official Khronos extension interface on the engine Please refer to that extension for more information This extensi
124. y available in the system and the length of the valid positions in the returned array Returns 0 if no multicast technologies are available in the system QuerySupportedMulticastTechnologies pTechnologies out Array of the multicast technologies currently available in the system This parameter is populated by the call with the array of technologies provided that the input value of pNumberOfTechnologies s equal to or greater than the number of actual technologies If pNumberOfTechnologies is less than the number of actual input technologies the error code XA_RESULT_BUFFER_INSUFFICIENT is returned See the XA_DTV_MULTICAST_TECHNOLOGY macros for more information spite The return value can be one of the following value e XA_RESULT_SUCCESS e XA_RESULT_PARAMETER_INVALID e XA_RESULT_BUFFER_INSUFFICIENT Comments The caller of this method is responsible for allocating the pTechnologies array J oinMulticastGroup XAResult JoinMulticastGroup XADTVSourceMulticastItf self XADTVMulticastGroupInfo pMulticastGroupInfo XAuint32 pBearerID i Description Joins a specific multicast group as defined in the pMulticastGroupInfo parameter The soft bearers do not have static bearer IDs so after a successful join the pBearerID parameter value is generated and returned Pre None condit
Download Pdf Manuals
Related Search
Related Contents
Estación mezcladora vapor/agua (Válvulas hasta el AX Series 3-port Manual Shure Microphone A98KCS User's Manual See more: www.christinadesignlondon.com User Manual Dual Time 取 扱 説 明 書 ( 施 主 様 向 ) Emerson Fisher 3620J Instruction Manual versão completa em PDF - Escola de Enfermagem Copyright © All rights reserved.
Failed to retrieve file