OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 MEDIA_BASE_DATA_SOURCE_H_ | 5 #ifndef MEDIA_BASE_DATA_SOURCE_H_ |
6 #define MEDIA_BASE_DATA_SOURCE_H_ | 6 #define MEDIA_BASE_DATA_SOURCE_H_ |
7 | 7 |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/time/time.h" | 9 #include "base/time/time.h" |
10 #include "media/base/media_export.h" | 10 #include "media/base/media_export.h" |
11 | 11 |
12 namespace media { | 12 namespace media { |
13 | 13 |
14 class MEDIA_EXPORT DataSource { | 14 class MEDIA_EXPORT DataSource { |
15 public: | 15 public: |
16 typedef base::Callback<void(int64, int64)> StatusCallback; | 16 typedef base::Callback<void(int64_t, int64_t)> StatusCallback; |
17 typedef base::Callback<void(int)> ReadCB; | 17 typedef base::Callback<void(int)> ReadCB; |
18 | 18 |
19 enum { kReadError = -1 }; | 19 enum { kReadError = -1 }; |
20 | 20 |
21 DataSource(); | 21 DataSource(); |
22 virtual ~DataSource(); | 22 virtual ~DataSource(); |
23 | 23 |
24 // Reads |size| bytes from |position| into |data|. And when the read is done | 24 // Reads |size| bytes from |position| into |data|. And when the read is done |
25 // or failed, |read_cb| is called with the number of bytes read or | 25 // or failed, |read_cb| is called with the number of bytes read or |
26 // kReadError in case of error. | 26 // kReadError in case of error. |
27 virtual void Read(int64 position, int size, uint8* data, | 27 virtual void Read(int64_t position, |
| 28 int size, |
| 29 uint8_t* data, |
28 const DataSource::ReadCB& read_cb) = 0; | 30 const DataSource::ReadCB& read_cb) = 0; |
29 | 31 |
30 // Stops the DataSource. Once this is called all future Read() calls will | 32 // Stops the DataSource. Once this is called all future Read() calls will |
31 // return an error. | 33 // return an error. |
32 virtual void Stop() = 0; | 34 virtual void Stop() = 0; |
33 | 35 |
34 // Returns true and the file size, false if the file size could not be | 36 // Returns true and the file size, false if the file size could not be |
35 // retrieved. | 37 // retrieved. |
36 virtual bool GetSize(int64* size_out) = 0; | 38 virtual bool GetSize(int64_t* size_out) = 0; |
37 | 39 |
38 // Returns true if we are performing streaming. In this case seeking is | 40 // Returns true if we are performing streaming. In this case seeking is |
39 // not possible. | 41 // not possible. |
40 virtual bool IsStreaming() = 0; | 42 virtual bool IsStreaming() = 0; |
41 | 43 |
42 // Notify the DataSource of the bitrate of the media. | 44 // Notify the DataSource of the bitrate of the media. |
43 // Values of |bitrate| <= 0 are invalid and should be ignored. | 45 // Values of |bitrate| <= 0 are invalid and should be ignored. |
44 virtual void SetBitrate(int bitrate) = 0; | 46 virtual void SetBitrate(int bitrate) = 0; |
45 | 47 |
46 private: | 48 private: |
47 DISALLOW_COPY_AND_ASSIGN(DataSource); | 49 DISALLOW_COPY_AND_ASSIGN(DataSource); |
48 }; | 50 }; |
49 | 51 |
50 } // namespace media | 52 } // namespace media |
51 | 53 |
52 #endif // MEDIA_BASE_DATA_SOURCE_H_ | 54 #endif // MEDIA_BASE_DATA_SOURCE_H_ |
OLD | NEW |