Chromium Code Reviews| Index: media/base/media_tracks.h |
| diff --git a/media/base/media_tracks.h b/media/base/media_tracks.h |
| index 4e0fbb0fc1f88195ce14cc05d14a424924be4d5d..3f886615789d87ade1b50bd9c2dbeabdb5197900 100644 |
| --- a/media/base/media_tracks.h |
| +++ b/media/base/media_tracks.h |
| @@ -17,30 +17,42 @@ |
| namespace media { |
| class AudioDecoderConfig; |
| +class DemuxerStream; |
| class VideoDecoderConfig; |
| class MEDIA_EXPORT MediaTracks { |
| public: |
| typedef std::vector<scoped_ptr<MediaTrack>> MediaTracksCollection; |
| + typedef std::map<unsigned, const DemuxerStream*> TrackIdToDemuxStreamMap; |
| MediaTracks(); |
| ~MediaTracks(); |
| // Callers need to ensure that track id is unique. |
| - void AddAudioTrack(const AudioDecoderConfig& config, |
| - const std::string& id, |
| - const std::string& kind, |
| - const std::string& label, |
| - const std::string& language); |
| + const MediaTrack* AddAudioTrack(const AudioDecoderConfig& config, |
| + const std::string& id, |
| + const std::string& kind, |
| + const std::string& label, |
| + const std::string& language); |
| // Callers need to ensure that track id is unique. |
| - void AddVideoTrack(const VideoDecoderConfig& config, |
| - const std::string& id, |
| - const std::string& kind, |
| - const std::string& label, |
| - const std::string& language); |
| + const MediaTrack* AddVideoTrack(const VideoDecoderConfig& config, |
| + const std::string& id, |
| + const std::string& kind, |
| + const std::string& label, |
| + const std::string& language); |
| const MediaTracksCollection& tracks() const { return tracks_; } |
| + // Notifies MediaTracks that a given media |track| object is backed by the |
| + // given DemuxerStream |stream| object. |
| + void SetDemuxerStreamForMediaTrack(const MediaTrack* track, |
| + const DemuxerStream* stream); |
| + // Notifies MediaTracks that external (blink) track ids have been assigned to |
| + // the media |tracks_|. The size and ordering of |track_ids| must match the |
|
wolenetz
2016/04/15 22:47:18
nit s/collection./collection, and |track_to_demux_
servolk
2016/04/15 23:26:31
Done.
|
| + // size and ordering of tracks in the |tracks_| collection. |
| + TrackIdToDemuxStreamMap OnTrackIdsAssigned( |
| + const std::vector<unsigned>& track_ids) const; |
| + |
| const AudioDecoderConfig& getAudioConfig(const std::string& id) const; |
| const VideoDecoderConfig& getVideoConfig(const std::string& id) const; |
| @@ -54,6 +66,10 @@ class MEDIA_EXPORT MediaTracks { |
| std::map<std::string, AudioDecoderConfig> audio_configs_; |
| std::map<std::string, VideoDecoderConfig> video_configs_; |
| + typedef std::map<const MediaTrack*, const DemuxerStream*> |
| + TrackToDemuxStreamMap; |
| + TrackToDemuxStreamMap track_to_demux_stream_map_; |
| + |
| DISALLOW_COPY_AND_ASSIGN(MediaTracks); |
| }; |