OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef WebSourceBufferClient_h | 5 #ifndef WebSourceBufferClient_h |
6 #define WebSourceBufferClient_h | 6 #define WebSourceBufferClient_h |
7 | 7 |
8 #include "WebMediaPlayer.h" | 8 #include "WebMediaPlayer.h" |
9 #include "WebString.h" | 9 #include "WebString.h" |
10 | 10 #include "WebVector.h" |
11 #include <tuple> | |
12 #include <vector> | |
13 | 11 |
14 namespace blink { | 12 namespace blink { |
15 | 13 |
16 class WebSourceBufferClient { | 14 class WebSourceBufferClient { |
17 public: | 15 public: |
18 virtual ~WebSourceBufferClient() { } | 16 virtual ~WebSourceBufferClient() { } |
19 | 17 |
20 // Complete media track info: track type, bytestream id, kind, label, langua
ge. | 18 // Complete media track info: track type, bytestream id, kind, label, langua
ge. |
21 typedef std::tuple<WebMediaPlayer::TrackType, WebString, WebString, WebStrin
g, WebString> MediaTrackInfo; | 19 struct MediaTrackInfo { |
| 20 WebMediaPlayer::TrackType trackType; |
| 21 WebString byteStreamTrackId; |
| 22 WebString kind; |
| 23 WebString label; |
| 24 WebString language; |
| 25 }; |
22 | 26 |
23 // Notifies SourceBuffer that parsing of a new init segment has been complet
ed successfully. The input parameter is a collection | 27 // Notifies SourceBuffer that parsing of a new init segment has been complet
ed successfully. The input parameter is a collection |
24 // of information about media tracks found in the new init segment. The retu
rn value is a vector of blink WebMediaPlayer track ids | 28 // of information about media tracks found in the new init segment. The retu
rn value is a vector of blink WebMediaPlayer track ids |
25 // assigned to each track of the input collection (the order of output track
ids must match the input track information). | 29 // assigned to each track of the input collection (the order of output track
ids must match the input track information). |
26 virtual std::vector<WebMediaPlayer::TrackId> initializationSegmentReceived(c
onst std::vector<MediaTrackInfo>& tracks) = 0; | 30 virtual WebVector<WebMediaPlayer::TrackId> initializationSegmentReceived(con
st WebVector<MediaTrackInfo>& tracks) = 0; |
27 }; | 31 }; |
28 | 32 |
29 } // namespace blink | 33 } // namespace blink |
30 | 34 |
31 #endif // WebSourceBufferClient_h | 35 #endif // WebSourceBufferClient_h |
OLD | NEW |