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.
|
typedef void(* | F_NotifyDvbTuning) (S32BIT serviceIndex, E_TuningFlags flags) |
| Notify that DVB is about to tune to service as requested by CI-CAM. More...
|
|
|
enum | E_ServiceType { SRV_TYP_ALL,
SRV_TYP_TV_DATA,
SRV_TYP_RADIO
} |
|
enum | E_TuningFlags { SRV_NORMAL_TUNE,
SRV_QUIET_TUNE,
SRV_KEEP_APP_RUNING,
SRV_QUIET_KEEP_APP
} |
|
|
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...
|
|
void | DVB_MhegRegisterDvbTuning (F_NotifyDvbTuning cb_func) |
| Register callback function to notify start of tuning process due to CI tune request. More...
|
|
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
typedef void(* F_NotifyDvbTuning) (S32BIT serviceIndex, E_TuningFlags flags) |
Notify that DVB is about to tune to service as requested by CI-CAM.
- Parameters
-
serviceIndex | service index |
flags | Tuning flags (Quiet tune / Keep app running) |
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
-
pDvbLocator | pointer to Digital Video Broadcaster (DVB) locator information. |
pServiceIndex | pointer 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
-
serviceIndex | service index |
pDvbLocation | pointer 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
-
serviceIndex | service index |
location | pointer 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
-
lcn | Logical channel number |
pDvbLocator | pointer for returning DVB locator |
- Returns
- - MHERR_OK on success
- MHERR_BAD_PARAMETER invalid parameter
- MHERR_OTHER controlling application specific error.
Register callback function to notify start of tuning process due to CI tune request.
- Parameters
-
cb_func | Callback function - NULL disables the call. |
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
-
pDvbLocator | pointer 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
-
pDvbLocator | pointer 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
-
serviceIndex | service 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.