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

Side by Side Diff: media/formats/mp2t/es_parser_mpeg1audio.h

Issue 2815303006: Convert MediaLog from being ref counted to owned by WebMediaPlayer. (Closed)
Patch Set: Rebase. Created 3 years, 8 months 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_MP2T_ES_PARSER_MPEG1AUDIO_H_ 5 #ifndef MEDIA_FORMATS_MP2T_ES_PARSER_MPEG1AUDIO_H_
6 #define MEDIA_FORMATS_MP2T_ES_PARSER_MPEG1AUDIO_H_ 6 #define MEDIA_FORMATS_MP2T_ES_PARSER_MPEG1AUDIO_H_
7 7
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <list> 10 #include <list>
(...skipping 15 matching lines...) Expand all
26 26
27 namespace media { 27 namespace media {
28 namespace mp2t { 28 namespace mp2t {
29 29
30 class MEDIA_EXPORT EsParserMpeg1Audio : public EsParser { 30 class MEDIA_EXPORT EsParserMpeg1Audio : public EsParser {
31 public: 31 public:
32 typedef base::Callback<void(const AudioDecoderConfig&)> NewAudioConfigCB; 32 typedef base::Callback<void(const AudioDecoderConfig&)> NewAudioConfigCB;
33 33
34 EsParserMpeg1Audio(const NewAudioConfigCB& new_audio_config_cb, 34 EsParserMpeg1Audio(const NewAudioConfigCB& new_audio_config_cb,
35 const EmitBufferCB& emit_buffer_cb, 35 const EmitBufferCB& emit_buffer_cb,
36 const scoped_refptr<MediaLog>& media_log); 36 MediaLog* media_log);
37 ~EsParserMpeg1Audio() override; 37 ~EsParserMpeg1Audio() override;
38 38
39 // EsParser implementation. 39 // EsParser implementation.
40 void Flush() override; 40 void Flush() override;
41 41
42 private: 42 private:
43 // Used to link a PTS with a byte position in the ES stream. 43 // Used to link a PTS with a byte position in the ES stream.
44 typedef std::pair<int64_t, base::TimeDelta> EsPts; 44 typedef std::pair<int64_t, base::TimeDelta> EsPts;
45 typedef std::list<EsPts> EsPtsList; 45 typedef std::list<EsPts> EsPtsList;
46 46
(...skipping 11 matching lines...) Expand all
58 // audio frame). 58 // audio frame).
59 bool LookForMpeg1AudioFrame(Mpeg1AudioFrame* mpeg1audio_frame); 59 bool LookForMpeg1AudioFrame(Mpeg1AudioFrame* mpeg1audio_frame);
60 60
61 // Signal any audio configuration change (if any). 61 // Signal any audio configuration change (if any).
62 // Return false if the current audio config is not 62 // Return false if the current audio config is not
63 // a supported Mpeg1 audio config. 63 // a supported Mpeg1 audio config.
64 bool UpdateAudioConfiguration(const uint8_t* mpeg1audio_header); 64 bool UpdateAudioConfiguration(const uint8_t* mpeg1audio_header);
65 65
66 void SkipMpeg1AudioFrame(const Mpeg1AudioFrame& mpeg1audio_frame); 66 void SkipMpeg1AudioFrame(const Mpeg1AudioFrame& mpeg1audio_frame);
67 67
68 scoped_refptr<MediaLog> media_log_; 68 MediaLog* media_log_;
69 69
70 // Callbacks: 70 // Callbacks:
71 // - to signal a new audio configuration, 71 // - to signal a new audio configuration,
72 // - to send ES buffers. 72 // - to send ES buffers.
73 NewAudioConfigCB new_audio_config_cb_; 73 NewAudioConfigCB new_audio_config_cb_;
74 EmitBufferCB emit_buffer_cb_; 74 EmitBufferCB emit_buffer_cb_;
75 75
76 // Interpolated PTS for frames that don't have one. 76 // Interpolated PTS for frames that don't have one.
77 std::unique_ptr<AudioTimestampHelper> audio_timestamp_helper_; 77 std::unique_ptr<AudioTimestampHelper> audio_timestamp_helper_;
78 78
79 // Last audio config. 79 // Last audio config.
80 AudioDecoderConfig last_audio_decoder_config_; 80 AudioDecoderConfig last_audio_decoder_config_;
81 81
82 DISALLOW_COPY_AND_ASSIGN(EsParserMpeg1Audio); 82 DISALLOW_COPY_AND_ASSIGN(EsParserMpeg1Audio);
83 }; 83 };
84 84
85 } // namespace mp2t 85 } // namespace mp2t
86 } // namespace media 86 } // namespace media
87 87
88 #endif // MEDIA_FORMATS_MP2T_ES_PARSER_MPEG1AUDIO_H_ 88 #endif // MEDIA_FORMATS_MP2T_ES_PARSER_MPEG1AUDIO_H_
OLDNEW
« no previous file with comments | « media/formats/common/stream_parser_test_base.cc ('k') | media/formats/mp2t/es_parser_mpeg1audio.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698