Question on CEA608 and 708 caption detection

Background:

For AVC/MPEG4 video carried in MPEG-2 Transport Streams over MSO cable systems, closed caption data are typically carried in-band in the AVC syntax in Supplemental Enhancement Information (SEI) NAL units. The closed caption data are carried in a user_data structure as specified in SCTE-128 “AVC Video Constraints for Cable Television Part 1 – Coding” and, as referenced therein, CEA-708 –D (2008) Digital Television (DTV) Closed Captioning. The user_data contains fields for the multiple types of closed caption data that are carried in the user_data; cc_type = 00(binary) specifies NTSC line 21 field 1 closed captions, cc_type = 01 specifies NTSC line 21 field 2 closed captions, and cc_type = 10 and 11 are used to denote DTVCC channel packet data and start, respectively. DTVCC data are sometimes referred to as CEA708 captions while NTSC caption data are sometimes referred to as CEA-608 captions.


It is common that either CEA-608 captions are carried alone in a cable AVC video stream or both CEA-608 and CEA-708 services are simultaneously carried. Caption data may change mid-stream (e.g. during program to advertisement changes and back) such that there are no caption (or null caption) data in the stream or both types of service, 608 and 708, are in the stream during a program epoch but only one, e.g. 608, is in the stream during an advertisement epoch or vice versa.


Questions:

  1. Can the iOS AVPlayer detect the presence of the closed caption data in SEI user_data and notify an application of the types of caption services that are available without the need to signal in an HLS Master Playlist using the EXT-X-MEDIA tag attribute INSTREAM-ID? That is, if there is only a single playlist (no master playlist) for a media asset, can AVPlayer detect all the caption services signaled in the SEI user_data?
  2. If such notification is possible, are there methods available to command the AVPlayer to select one of the four CEA 608 services CC1-CC4 or 1-64 DTVCC/CEA-708 services that could be available in the stream for decoding and rendering?
  3. Can the AVPlayer detect transitions in caption data services in a single video stream from 608 to 608+708 and back and provide notification to an application that new or different caption services are available?
Question on CEA608 and 708 caption detection
 
 
Q