MuxerListener interface
Muxer event handler interface. Change-Id: Iee4b43c49ae9a105bbadb61b6ae9ed2e66bfaba2
This commit is contained in:
parent
65a3a69646
commit
b6e127416b
|
@ -0,0 +1,63 @@
|
||||||
|
// Event handler for events fired by Muxer.
|
||||||
|
#ifndef MEDIA_EVENT_MUXER_LISTENER_H_
|
||||||
|
#define MEDIA_EVENT_MUXER_LISTENER_H_
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
#include "base/basictypes.h"
|
||||||
|
|
||||||
|
namespace media {
|
||||||
|
|
||||||
|
class MuxerOptions;
|
||||||
|
class StreamInfo;
|
||||||
|
|
||||||
|
namespace event {
|
||||||
|
|
||||||
|
class MuxerListener {
|
||||||
|
public:
|
||||||
|
MuxerListener() {};
|
||||||
|
virtual ~MuxerListener() {};
|
||||||
|
|
||||||
|
// Called when muxing starts. This event happens before any other events.
|
||||||
|
// For MPEG DASH Live profile, the initialization segment information is
|
||||||
|
// available from StreamInfo.
|
||||||
|
// |time_scale| is a reference time scale regardless of the time scale(s)
|
||||||
|
// specified in |stream_infos|.
|
||||||
|
virtual void OnMediaStart(const MuxerOptions& muxer_options,
|
||||||
|
const std::vector<StreamInfo*>& stream_infos,
|
||||||
|
uint32 time_scale) = 0;
|
||||||
|
|
||||||
|
// Called when all files are written out and the muxer object does not output
|
||||||
|
// any more files.
|
||||||
|
// Note: This event might not be very interesting to MPEG DASH Live profile.
|
||||||
|
// |init_range_{start,end}| is the byte range of initialization segment, in
|
||||||
|
// the media file. If |has_init_range| is false, these values are ignored.
|
||||||
|
// |index_range_{start,end}| is the byte range of segment index, in the media
|
||||||
|
// file. If |has_index_range| is false, these values are ignored.
|
||||||
|
// Both ranges are inclusive.
|
||||||
|
// Media length of |duration_seconds|.
|
||||||
|
// |file_size| of the media in bytes.
|
||||||
|
virtual void OnMediaEnd(const std::vector<StreamInfo*>& stream_infos,
|
||||||
|
bool has_init_range,
|
||||||
|
uint64 init_range_start,
|
||||||
|
uint64 init_range_end,
|
||||||
|
bool has_index_range,
|
||||||
|
uint64 index_range_start,
|
||||||
|
uint64 index_range_end,
|
||||||
|
float duration_seconds,
|
||||||
|
uint64 file_size) = 0;
|
||||||
|
|
||||||
|
// Called when a segment has been muxed and the file has been written.
|
||||||
|
// Note: For video on demand (VOD), this would be for subsegments.
|
||||||
|
// |start_time| and |duration| are relative to time scale specified
|
||||||
|
// OnMediaStart().
|
||||||
|
// |segment_file_size| in bytes.
|
||||||
|
virtual void OnNewSegment(uint64 start_time,
|
||||||
|
uint64 duration,
|
||||||
|
uint64 segment_file_size) = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
} // namespace event
|
||||||
|
} // namespace media
|
||||||
|
|
||||||
|
#endif // MEDIA_EVENT_MUXER_LISTENER_H_
|
Loading…
Reference in New Issue