MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
Data Structures | Enumerations | Functions
dvb_service.h File Reference

DVB Service information functions are required by MHEG5 engine. All required functions should be non-blocking. Functions with a post condition (synchronously returned values) MUST perform quickly, otherwise should copy passed data and return asynchronously through a asynchronous return path, where available. References: [1] DTG UK D-Book 7 part A. [2] Specification for Service Information (SI) in DVB systems ETSI EN 300 468 V1.11.1 Notes: [a] Required functions may or may not use all of the allowed return values, depending on the error handling capabilities of the controlling application implementation. More...

#include "techtype.h"
#include "dtvstring.h"
#include "dmxtype.h"
#include "dvblocator.h"
#include "mherrors.h"

Go to the source code of this file.

Data Structures

struct  S_DvbLocation
 

Enumerations

enum  E_ServiceType { SRV_TYP_ALL, SRV_TYP_TV_DATA, SRV_TYP_RADIO }
 

Functions

DMXREF DVB_MhegGetDemuxPath (void)
 Retrieve demux resource reference. More...
 
E_MhegErr DVB_MhegGetTunedService (S32BIT *serviceIndex)
 Retrieve the DVB locator of the current tuned service. That is, the real service according to the DVB stack. More...
 
E_MhegErr DVB_MhegDvbLocatorToIndex (S_DvbLocator *pDvbLocator, S32BIT *pServiceIndex)
 Get a DVB implementation dependant service index - an integer greater or equal to 0. This may be the Logical Channel Number. It is used to reference a service, based on the DVB URL (S_DvbLocation). Service availability is determined by the description of currently running services provided by the SI in the currently selected TS. This MUST be a non-blocking function, returning results immediately. More...
 
E_MhegErr DVB_MhegIndexToDvbLocator (S32BIT serviceIndex, S_DvbLocator *location)
 Convert "service index" into DVB locator information. This being original network ID, transport stream ID, and service ID. More...
 
E_MhegErr DVB_MhegIndexToDvbLocation (S32BIT serviceIndex, S_DvbLocation *pDvbLocation)
 Convert Service index into full DVB location information. This being networkID, origNetworkID, transportStreamID, serviceID. More...
 
E_MhegErr DVB_MhegLcnToDvbLocator (U32BIT lcn, S_DvbLocator *pDvbLocator)
 Convert Logical channel number into DVB locator information. More...
 
E_MhegErr DVB_MhegTuneIndex (S32BIT serviceIndex)
 Tunes to the specified service. This MUST be a non-blocking function If the tuner fails to tune to the service it should attempt to return to the previously tuned service. If tuning to previously tuned service fails, the receiver shall allow the user to choose another service. When tuning to a new service, MHEG5 must first be stopped. Once a service has been tuned, then MHEG5 may be restarted. More...
 
void DVB_MhegServiceAddPmtListen (S_DvbLocator dvbLocator)
 Advise DVB stack that PMT may be required soon in DVB_MhegVideoPlayStream() or DVB_MhegAudioPlayStream(). This gives DVB stack opportunity to prioritise aquiring of PMT for the specified service. This service will not be the one currently tuned to. More...
 
void DVB_MhegServiceRemovePmtListen (S_DvbLocator dvbLocator)
 Advise DVB stack to remove prioritising of PMT for the service that was set up by DVB_MhegServiceAddPmtListen(). More...
 

Detailed Description

DVB Service information functions are required by MHEG5 engine. All required functions should be non-blocking. Functions with a post condition (synchronously returned values) MUST perform quickly, otherwise should copy passed data and return asynchronously through a asynchronous return path, where available. References: [1] DTG UK D-Book 7 part A. [2] Specification for Service Information (SI) in DVB systems ETSI EN 300 468 V1.11.1 Notes: [a] Required functions may or may not use all of the allowed return values, depending on the error handling capabilities of the controlling application implementation.

Date
20/12/2012
Author
Adam Sturtridge

Function Documentation

E_MhegErr DVB_MhegDvbLocatorToIndex ( S_DvbLocator pDvbLocator,
S32BIT *  pServiceIndex 
)

Get a DVB implementation dependant service index - an integer greater or equal to 0. This may be the Logical Channel Number. It is used to reference a service, based on the DVB URL (S_DvbLocation). Service availability is determined by the description of currently running services provided by the SI in the currently selected TS. This MUST be a non-blocking function, returning results immediately.

Parameters
pDvbLocatorpointer to Digital Video Broadcaster (DVB) locator information.
pServiceIndexpointer to service index. Set to -1 if service not found
Returns
- MHERR_OK on success
  • MHERR_BAD_PARAMETER invalid parameter
  • MHERR_OTHER controlling application specific error.
DMXREF DVB_MhegGetDemuxPath ( void  )

Retrieve demux resource reference.

Returns
DMXREF demux resource reference
E_MhegErr DVB_MhegGetTunedService ( S32BIT *  serviceIndex)

Retrieve the DVB locator of the current tuned service. That is, the real service according to the DVB stack.

Returns
- MHERR_OK on success
  • MHERR_BAD_PARAMETER invalid parameter
  • MHERR_OTHER controlling application specific error.
E_MhegErr DVB_MhegIndexToDvbLocation ( S32BIT  serviceIndex,
S_DvbLocation pDvbLocation 
)

Convert Service index into full DVB location information. This being networkID, origNetworkID, transportStreamID, serviceID.

Parameters
serviceIndexservice index
pDvbLocationpointer for returning DVB location
Returns
- MHERR_OK on success
  • MHERR_BAD_PARAMETER invalid parameter
  • MHERR_OTHER controlling application specific error.
E_MhegErr DVB_MhegIndexToDvbLocator ( S32BIT  serviceIndex,
S_DvbLocator location 
)

Convert "service index" into DVB locator information. This being original network ID, transport stream ID, and service ID.

Parameters
serviceIndexservice index
locationpointer for returning DVB location
Returns
- MHERR_OK on success
  • MHERR_BAD_PARAMETER invalid parameter
  • MHERR_OTHER controlling application specific error.
E_MhegErr DVB_MhegLcnToDvbLocator ( U32BIT  lcn,
S_DvbLocator pDvbLocator 
)

Convert Logical channel number into DVB locator information.

Parameters
lcnLogical channel number
pDvbLocatorpointer for returning DVB locator
Returns
- MHERR_OK on success
  • MHERR_BAD_PARAMETER invalid parameter
  • MHERR_OTHER controlling application specific error.
void DVB_MhegServiceAddPmtListen ( S_DvbLocator  dvbLocator)

Advise DVB stack that PMT may be required soon in DVB_MhegVideoPlayStream() or DVB_MhegAudioPlayStream(). This gives DVB stack opportunity to prioritise aquiring of PMT for the specified service. This service will not be the one currently tuned to.

Parameters
pDvbLocatorpointer to Digital Video Broadcaster (DVB) locator information.
Returns
void
void DVB_MhegServiceRemovePmtListen ( S_DvbLocator  dvbLocator)

Advise DVB stack to remove prioritising of PMT for the service that was set up by DVB_MhegServiceAddPmtListen().

Parameters
pDvbLocatorpointer to Digital Video Broadcaster (DVB) locator information.
Returns
void
E_MhegErr DVB_MhegTuneIndex ( S32BIT  serviceIndex)

Tunes to the specified service. This MUST be a non-blocking function If the tuner fails to tune to the service it should attempt to return to the previously tuned service. If tuning to previously tuned service fails, the receiver shall allow the user to choose another service. When tuning to a new service, MHEG5 must first be stopped. Once a service has been tuned, then MHEG5 may be restarted.

Parameters
serviceIndexservice index to which the tuner should attempt to tune
tuneQuietly
Returns
- MHERR_OK on success
  • MHERR_BAD_PARAMETER invalid parameter
  • MHERR_OTHER controlling application specific error.