Changes

Jump to: navigation, search

Networking/Archive/DASH/Implementation

1,587 bytes added, 02:17, 10 January 2012
Create page for DASH Implementation in Gecko
''Work in progress''

This design page for DASH implementation in Gecko is focused on the Networking/Necko code to be implemented.

== Current Design and Behavior of non-adaptive streams ==
With current native video, Necko buffers the data until it is safe to start playing. nsMediaChannelStream downloads data via HTTP and puts that data in an nsMediaCache. nsMediaCache intrun makes this data available to decoder threads via read() and seek() APIs. The decoders then read the dtaa and enqueue it in A/V queues.
'''Diagram needed'''

== High Level Approaches - Segment Request and Delivery to MediaStream/MediaCoder ==
Two initial ideas were suggested by Rob O'Callahan:
# One nsMediaDASHStream class is created which manages the monitoring of local capabilities/load and adapts download by switching streams as necessary. Then one nsMediaCache provides data to a single nsWebMDecoder.
'''Diagram needed'''
'''Description needed'''

# One nsMediaDASHStream as before, but with multiple nsWebMDecoders, one for each encoded stream available on the server. Only one nsWebMDecoder would be used at a time.
'''Diagram needed'''
'''Description needed'''

== MPD ==
'''Diagram needed'''
'''Description needed'''
=== MPD Classes and Objects ===
'''Diagram needed'''
'''Description needed'''
=== MPD Parsing and Behavior ===
'''Diagram needed'''
'''Description needed'''

== Capability/Load Monitoring ==
How will this be provided?

== Media Segments ==
'''Diagram needed'''
'''Description needed'''
=== Media Segment Classes and Objects ===
'''Diagram needed'''
'''Description needed'''
88
edits

Navigation menu