atsc30port

ATSC30

ATSCCore uses the CoreService and MWService for connecting the platform layer and Web application layer.

Here below is the folder architecture of ATSC 3.0 stack,

ATSC3.0 Stack Core module C++ classes :
     DtvKit_ATSC30Stack/src/atsc/core

ATSC3.0 Stack mw module C++ classes :
     DtvKit_ATSC30Stack/src/atsc/mw

ATSC3.0 Stack Platform interface module C++ class :
     DtvKit_ATSC30Stack/src/atsc/plf

ATSC3.0 Stack generic header files :
     DtvKit_ATSC30Stack/src/atsc/common

ATSC3.0 Stack sample application :
     DtvKit_ATSC30Stack/src/atsc/app

Documentation :
DtvKit_ATSC30Stack/doc contains ATSC3.0 stack related documents and release notes

Coreservice [/DtvKit_ATSC30Stack_M3/src/atsc/core/src/service]
Core part is used to connect the interface flow from user level to ATSC 3.0 stack layer via Middleware.

Reference files : atsc_core.h,atsc_core_service.h
Classes available : CAtscCore, CCoreService

Important Interfaces are defined below from Core:

  • ProcessAlpData()
  • ProcessLLS()
  • StartService()

Middleware [DtvKit_ATSC30Stack_M3/src/atsc/mw/src/service]
Middleware part is used to connect the interface flow from user level to platform layer or core layer.

Reference files : atsc_mw.h,atsc_mw_service.h
Classes available : CAtscMw , CMwService

Interfaces for tune,scan the channels as frontend level.

  • Start()
  • TuneToChannel()
  • ScanChannels()
  • StartFrontend()
  • StopFrontend()

API's in MW which is called from Web application based on user provided functionalities and provided the required information from ATSC to User application:

  • RequestTuners()
  • RequestUserService()
  • RequestScan()
  • RequestService()
  • Connection()
  • ParserHttpProtocol()
  • GetMwTunerInfo()
  • GetMwGuideInfo()
  • GetMwPrepareTunerInfo()

Call flow as below for connecting stack and core/hal layers:

  • User Application - MW - MWservice - Core - CoreService - ATSC3.0 Stack layer
  • User Application - MW - MWservice - Platform/Plf(frontend,av)

To start/init the web application layer, application will call the CAtscMw::Start() API which created the CAtscMw::ThreadServer() for handling the incoming and managing the servcer socket connection. And to tune the channel CAtscMw::TuneToChannel() based on user selected Channel Number,PlpId.

In addition, be sure that Application register the below callback for getting the frontend status and information such as Channel Number,Plp Id, Frequency,Demod Type as ATSC1.0 or ATSC3.0,Region ID, Tuner Lock/Unlock, Bandwidth, Scanning Inprogress or not.

  • CMwService::Frontend_RegisterStatusEventCb()
  • CMwService::Frontend_RegisterParamEventCb()

Page Tools