|
Shaka Packager SDK
|
#include <muxer.h>
Public Member Functions | |
| Muxer (const MuxerOptions &options) | |
| void | Cancel () |
| void | SetMuxerListener (std::unique_ptr< MuxerListener > muxer_listener) |
| void | SetProgressListener (std::unique_ptr< ProgressListener > progress_listener) |
| const std::vector< std::shared_ptr< const StreamInfo > > & | streams () const |
| void | set_clock (std::shared_ptr< Clock > clock) |
Public Member Functions inherited from shaka::media::MediaHandler | |
| Status | SetHandler (size_t output_stream_index, std::shared_ptr< MediaHandler > handler) |
| Connect downstream handler at the specified output stream index. | |
| Status | AddHandler (std::shared_ptr< MediaHandler > handler) |
| Connect downstream handler to the next available output stream index. | |
| Status | Initialize () |
| bool | IsConnected () |
| Validate if the handler is connected to its upstream handler. | |
Protected Member Functions | |
| const MuxerOptions & | options () const |
| MuxerListener * | muxer_listener () |
| ProgressListener * | progress_listener () |
| uint64_t | Now () const |
MediaHandler implementation overrides. | |
| Status | InitializeInternal () override |
| Status | Process (std::unique_ptr< StreamData > stream_data) override |
| Status | OnFlushRequest (size_t input_stream_index) override |
| Event handler for flush request at the specific input stream index. | |
Protected Member Functions inherited from shaka::media::MediaHandler | |
| virtual bool | ValidateOutputStreamIndex (size_t stream_index) const |
| Validate if the stream at the specified index actually exists. | |
| Status | Dispatch (std::unique_ptr< StreamData > stream_data) const |
| Status | DispatchStreamInfo (size_t stream_index, std::shared_ptr< const StreamInfo > stream_info) const |
| Dispatch the stream info to downstream handlers. | |
| Status | DispatchMediaSample (size_t stream_index, std::shared_ptr< const MediaSample > media_sample) const |
| Dispatch the media sample to downstream handlers. | |
| Status | DispatchTextSample (size_t stream_index, std::shared_ptr< const TextSample > text_sample) const |
| Dispatch the text sample to downstream handlers. | |
| Status | DispatchSegmentInfo (size_t stream_index, std::shared_ptr< const SegmentInfo > segment_info) const |
| Dispatch the segment info to downstream handlers. | |
| Status | DispatchScte35Event (size_t stream_index, std::shared_ptr< const Scte35Event > scte35_event) const |
| Dispatch the scte35 event to downstream handlers. | |
| Status | DispatchCueEvent (size_t stream_index, std::shared_ptr< const CueEvent > cue_event) const |
| Dispatch the cue event to downstream handlers. | |
| Status | FlushDownstream (size_t output_stream_index) |
| Flush the downstream connected at the specified output stream index. | |
| Status | FlushAllDownstreams () |
| Flush all connected downstream handlers. | |
| bool | initialized () |
| size_t | num_input_streams () const |
| size_t | next_output_stream_index () const |
| const std::map< size_t, std::pair< std::shared_ptr< MediaHandler >, size_t > > & | output_handlers () |
Additional Inherited Members | |
Static Public Member Functions inherited from shaka::media::MediaHandler | |
| static Status | Chain (const std::vector< std::shared_ptr< MediaHandler > > &list) |
Muxer is responsible for taking elementary stream samples and producing media containers. An optional KeySource can be provided to Muxer to generate encrypted outputs.
|
explicit |
| void shaka::media::Muxer::Cancel | ( | ) |
|
inlineoverrideprotectedvirtual |
Internal implementation of initialize. Note that it should only initialize the MediaHandler itself. Downstream handlers are handled in Initialize().
Implements shaka::media::MediaHandler.
|
inlineprotected |
|
overrideprotectedvirtual |
Event handler for flush request at the specific input stream index.
Reimplemented from shaka::media::MediaHandler.
|
inlineprotected |
|
overrideprotectedvirtual |
Process the incoming stream data. Note that (1) stream_data.stream_index should be the input stream index; (2) The implementation needs to call DispatchXxx to dispatch the processed stream data to the downstream handlers after finishing processing if needed.
Implements shaka::media::MediaHandler.
|
inlineprotected |
|
inline |
Inject clock, mainly used for testing. The injected clock will be used to generate the creation time-stamp and modification time-stamp of the muxer output. If no clock is injected, the code uses std::chrone::system_clock::now() to generate the time-stamps.
| clock | is the Clock to be injected. |
| void shaka::media::Muxer::SetMuxerListener | ( | std::unique_ptr< MuxerListener > | muxer_listener | ) |
Set a MuxerListener event handler for this object.
| muxer_listener | should not be NULL. |
| void shaka::media::Muxer::SetProgressListener | ( | std::unique_ptr< ProgressListener > | progress_listener | ) |
Set a ProgressListener event handler for this object.
| progress_listener | should not be NULL. |
|
inline |