Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(157)

Side by Side Diff: media/formats/webm/webm_stream_parser.h

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 MEDIA_FORMATS_WEBM_WEBM_STREAM_PARSER_H_ 5 #ifndef MEDIA_FORMATS_WEBM_WEBM_STREAM_PARSER_H_
6 #define MEDIA_FORMATS_WEBM_WEBM_STREAM_PARSER_H_ 6 #define MEDIA_FORMATS_WEBM_WEBM_STREAM_PARSER_H_
7 7
8 #include "base/callback_forward.h" 8 #include "base/callback_forward.h"
9 #include "base/memory/ref_counted.h" 9 #include "base/memory/ref_counted.h"
10 #include "media/base/audio_decoder_config.h" 10 #include "media/base/audio_decoder_config.h"
(...skipping 13 matching lines...) Expand all
24 // StreamParser implementation. 24 // StreamParser implementation.
25 void Init(const InitCB& init_cb, 25 void Init(const InitCB& init_cb,
26 const NewConfigCB& config_cb, 26 const NewConfigCB& config_cb,
27 const NewBuffersCB& new_buffers_cb, 27 const NewBuffersCB& new_buffers_cb,
28 bool ignore_text_tracks, 28 bool ignore_text_tracks,
29 const EncryptedMediaInitDataCB& encrypted_media_init_data_cb, 29 const EncryptedMediaInitDataCB& encrypted_media_init_data_cb,
30 const NewMediaSegmentCB& new_segment_cb, 30 const NewMediaSegmentCB& new_segment_cb,
31 const base::Closure& end_of_segment_cb, 31 const base::Closure& end_of_segment_cb,
32 const scoped_refptr<MediaLog>& media_log) override; 32 const scoped_refptr<MediaLog>& media_log) override;
33 void Flush() override; 33 void Flush() override;
34 bool Parse(const uint8* buf, int size) override; 34 bool Parse(const uint8_t* buf, int size) override;
35 35
36 private: 36 private:
37 enum State { 37 enum State {
38 kWaitingForInit, 38 kWaitingForInit,
39 kParsingHeaders, 39 kParsingHeaders,
40 kParsingClusters, 40 kParsingClusters,
41 kError 41 kError
42 }; 42 };
43 43
44 void ChangeState(State new_state); 44 void ChangeState(State new_state);
45 45
46 // Parses WebM Header, Info, Tracks elements. It also skips other level 1 46 // Parses WebM Header, Info, Tracks elements. It also skips other level 1
47 // elements that are not used right now. Once the Info & Tracks elements have 47 // elements that are not used right now. Once the Info & Tracks elements have
48 // been parsed, this method will transition the parser from PARSING_HEADERS to 48 // been parsed, this method will transition the parser from PARSING_HEADERS to
49 // PARSING_CLUSTERS. 49 // PARSING_CLUSTERS.
50 // 50 //
51 // Returns < 0 if the parse fails. 51 // Returns < 0 if the parse fails.
52 // Returns 0 if more data is needed. 52 // Returns 0 if more data is needed.
53 // Returning > 0 indicates success & the number of bytes parsed. 53 // Returning > 0 indicates success & the number of bytes parsed.
54 int ParseInfoAndTracks(const uint8* data, int size); 54 int ParseInfoAndTracks(const uint8_t* data, int size);
55 55
56 // Incrementally parses WebM cluster elements. This method also skips 56 // Incrementally parses WebM cluster elements. This method also skips
57 // CUES elements if they are encountered since we currently don't use the 57 // CUES elements if they are encountered since we currently don't use the
58 // data in these elements. 58 // data in these elements.
59 // 59 //
60 // Returns < 0 if the parse fails. 60 // Returns < 0 if the parse fails.
61 // Returns 0 if more data is needed. 61 // Returns 0 if more data is needed.
62 // Returning > 0 indicates success & the number of bytes parsed. 62 // Returning > 0 indicates success & the number of bytes parsed.
63 int ParseCluster(const uint8* data, int size); 63 int ParseCluster(const uint8_t* data, int size);
64 64
65 // Fire needkey event through the |encrypted_media_init_data_cb_|. 65 // Fire needkey event through the |encrypted_media_init_data_cb_|.
66 void OnEncryptedMediaInitData(const std::string& key_id); 66 void OnEncryptedMediaInitData(const std::string& key_id);
67 67
68 State state_; 68 State state_;
69 InitCB init_cb_; 69 InitCB init_cb_;
70 NewConfigCB config_cb_; 70 NewConfigCB config_cb_;
71 NewBuffersCB new_buffers_cb_; 71 NewBuffersCB new_buffers_cb_;
72 bool ignore_text_tracks_; 72 bool ignore_text_tracks_;
73 EncryptedMediaInitDataCB encrypted_media_init_data_cb_; 73 EncryptedMediaInitDataCB encrypted_media_init_data_cb_;
74 74
75 NewMediaSegmentCB new_segment_cb_; 75 NewMediaSegmentCB new_segment_cb_;
76 base::Closure end_of_segment_cb_; 76 base::Closure end_of_segment_cb_;
77 scoped_refptr<MediaLog> media_log_; 77 scoped_refptr<MediaLog> media_log_;
78 78
79 bool unknown_segment_size_; 79 bool unknown_segment_size_;
80 80
81 scoped_ptr<WebMClusterParser> cluster_parser_; 81 scoped_ptr<WebMClusterParser> cluster_parser_;
82 ByteQueue byte_queue_; 82 ByteQueue byte_queue_;
83 83
84 DISALLOW_COPY_AND_ASSIGN(WebMStreamParser); 84 DISALLOW_COPY_AND_ASSIGN(WebMStreamParser);
85 }; 85 };
86 86
87 } // namespace media 87 } // namespace media
88 88
89 #endif // MEDIA_FORMATS_WEBM_WEBM_STREAM_PARSER_H_ 89 #endif // MEDIA_FORMATS_WEBM_WEBM_STREAM_PARSER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698