DSM-CC Object Carousel Protocol: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
Line 25: Line 25:


The '''PMT''' points to elementary streams with '''StreamType 0xb''', on which DSM-CC streams are located, but that does not mean a DataCarousel is really there.
The '''PMT''' points to elementary streams with '''StreamType 0xb''', on which DSM-CC streams are located, but that does not mean a DataCarousel is really there.
You can find various descriptors in the '''2nd ES-loop''' in the PMT which indicate the presence of a DataCarousel, e.g. the '''DataBroadcastDescriptor''' and '''CarouselIDDescriptor'''.
You can find various descriptors in the '''2nd ES-loop''' of the PMT which indicate the presence of a DataCarousel, e.g. the '''DataBroadcastDescriptor''' and '''CarouselIDDescriptor'''.
The latter one associates a DataCarousel with a '''CarouselID''', so that an ObjectCarousel can include multiple DataCarousels, each one located on a separate elementary stream.
The latter one associates a DataCarousel with a '''CarouselID''', so that an ObjectCarousel can include multiple DataCarousels, each one located on a separate elementary stream.

Well then, you already know all elementary streams including a DataCarousel, but what data is broadcast there and how to filter it?



== '''C.''' Object Carousel ==
== '''C.''' Object Carousel ==

Revision as of 15:20, 6 October 2004

The DSM-CC ObjectCarousel protocol is a broadcast protocol on top of MPEG2. It is used for transmission of filesystem hierarchies over a MPEG2 channel.

Like other protocols (NFS, SAMBA etc. via IP), the ObjectCarousel protocol allows mounting of external filesystems that are broadcast within a MPEG2 program.

OC-ProtoLayers.png

A. MPEG2 Transport Stream

Basically, to mount an ObjectCarousel, of course you have to know where to find it.

OC-LayerMPEG.png

First, given a stream location on dvb://ONID.TSID.SID, you have to tune to the service and check some (P)SI tables for presence of an ObjectCarousel there (which tables is the subject of the next layer).

As you can see, an ObjectCarousel can be distributed over multiple PIDs (i.e. all elemantary streams belong to the same CarouselID), and there is nothing more special to say about the MPEG2 layer of the ObjectCarousel protocol. TS-Packets are merged into Sections as usual, and DSMCC-Sections also follow the usual PrivateSection format.

B. Data Carousel

OC-LayerDC.png

The PMT points to elementary streams with StreamType 0xb, on which DSM-CC streams are located, but that does not mean a DataCarousel is really there. You can find various descriptors in the 2nd ES-loop of the PMT which indicate the presence of a DataCarousel, e.g. the DataBroadcastDescriptor and CarouselIDDescriptor. The latter one associates a DataCarousel with a CarouselID, so that an ObjectCarousel can include multiple DataCarousels, each one located on a separate elementary stream.

Well then, you already know all elementary streams including a DataCarousel, but what data is broadcast there and how to filter it?


C. Object Carousel

WIP