Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_CDM_PPAPI_CDM_FILE_IO_IMPL_H_ | 5 #ifndef MEDIA_CDM_PPAPI_CDM_FILE_IO_IMPL_H_ |
| 6 #define MEDIA_CDM_PPAPI_CDM_FILE_IO_IMPL_H_ | 6 #define MEDIA_CDM_PPAPI_CDM_FILE_IO_IMPL_H_ |
| 7 | 7 |
| 8 #include <algorithm> | 8 #include <algorithm> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 28 // There should be only one instance of ResourceTracker in a process. Also, | 28 // There should be only one instance of ResourceTracker in a process. Also, |
| 29 // ResourceTracker should outlive all CdmFileIOImpl instances. | 29 // ResourceTracker should outlive all CdmFileIOImpl instances. |
| 30 class ResourceTracker { | 30 class ResourceTracker { |
| 31 public: | 31 public: |
| 32 ResourceTracker(); | 32 ResourceTracker(); |
| 33 ~ResourceTracker(); | 33 ~ResourceTracker(); |
| 34 private: | 34 private: |
| 35 DISALLOW_COPY_AND_ASSIGN(ResourceTracker); | 35 DISALLOW_COPY_AND_ASSIGN(ResourceTracker); |
| 36 }; | 36 }; |
| 37 | 37 |
| 38 CdmFileIOImpl(cdm::FileIOClient* client, PP_Instance pp_instance); | 38 // After the first successful file read, call |file_read_cb| to report the |
| 39 // file size. |file_read_cb| takes one parameter: the file size in bytes. | |
| 40 CdmFileIOImpl(cdm::FileIOClient* client, | |
| 41 PP_Instance pp_instance, | |
| 42 const pp::CompletionCallback& file_read_cb); | |
|
ddorwin
2014/09/14 21:47:59
rename the cb here too?
xhwang
2014/09/15 03:44:31
Done.
| |
| 39 | 43 |
| 40 // cdm::FileIO implementation. | 44 // cdm::FileIO implementation. |
| 41 virtual void Open(const char* file_name, uint32_t file_name_size) OVERRIDE; | 45 virtual void Open(const char* file_name, uint32_t file_name_size) OVERRIDE; |
| 42 virtual void Read() OVERRIDE; | 46 virtual void Read() OVERRIDE; |
| 43 virtual void Write(const uint8_t* data, uint32_t data_size) OVERRIDE; | 47 virtual void Write(const uint8_t* data, uint32_t data_size) OVERRIDE; |
| 44 virtual void Close() OVERRIDE; | 48 virtual void Close() OVERRIDE; |
| 45 | 49 |
| 46 private: | 50 private: |
| 47 enum State { | 51 enum State { |
| 48 FILE_UNOPENED, | 52 FILE_UNOPENED, |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 151 std::vector<char> io_buffer_; | 155 std::vector<char> io_buffer_; |
| 152 | 156 |
| 153 // Offset into the file for reading/writing data. When writing data to the | 157 // Offset into the file for reading/writing data. When writing data to the |
| 154 // file, this is also the offset to the |io_buffer_|. | 158 // file, this is also the offset to the |io_buffer_|. |
| 155 size_t io_offset_; | 159 size_t io_offset_; |
| 156 | 160 |
| 157 // Buffer to hold all read data requested. This buffer is passed to |client_| | 161 // Buffer to hold all read data requested. This buffer is passed to |client_| |
| 158 // when read completes. | 162 // when read completes. |
| 159 std::vector<char> cumulative_read_buffer_; | 163 std::vector<char> cumulative_read_buffer_; |
| 160 | 164 |
| 165 bool first_file_read_reported_; | |
| 166 | |
| 167 // Callback to report the file size in bytes after the first successful read. | |
| 168 pp::CompletionCallback file_read_cb_; | |
| 169 | |
| 161 DISALLOW_COPY_AND_ASSIGN(CdmFileIOImpl); | 170 DISALLOW_COPY_AND_ASSIGN(CdmFileIOImpl); |
| 162 }; | 171 }; |
| 163 | 172 |
| 164 } // namespace media | 173 } // namespace media |
| 165 | 174 |
| 166 #endif // MEDIA_CDM_PPAPI_CDM_FILE_IO_IMPL_H_ | 175 #endif // MEDIA_CDM_PPAPI_CDM_FILE_IO_IMPL_H_ |
| OLD | NEW |