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

Side by Side Diff: extensions/renderer/api/display_source/wifi_display/wifi_display_audio_encoder.h

Issue 1903823002: [chrome.displaySource] Implement LPCM audio encoder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Comments Created 4 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_AUDIO_E NCODER_H_ 5 #ifndef EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_AUDIO_E NCODER_H_
6 #define EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_AUDIO_E NCODER_H_ 6 #define EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_AUDIO_E NCODER_H_
7 7
8 #include "content/public/renderer/media_stream_audio_sink.h" 8 #include "content/public/renderer/media_stream_audio_sink.h"
9 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_media _encoder.h" 9 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_media _encoder.h"
10 #include "third_party/wds/src/libwds/public/audio_codec.h" 10 #include "third_party/wds/src/libwds/public/audio_codec.h"
11 11
12 namespace extensions { 12 namespace extensions {
13 13
14 // This interface is a base class for audio used by the Wi-Fi Display media 14 // This interface is a base class for audio used by the Wi-Fi Display media
15 // pipeline. 15 // pipeline.
16 // Threading: the client code should belong to a single thread. 16 // Threading: the client code should belong to a single thread.
17 class WiFiDisplayAudioEncoder : public WiFiDisplayMediaEncoder, 17 class WiFiDisplayAudioEncoder : public WiFiDisplayMediaEncoder,
18 public content::MediaStreamAudioSink { 18 public content::MediaStreamAudioSink {
19 public: 19 public:
20 using AudioEncoderCallback = 20 using AudioEncoderCallback =
21 base::Callback<void(scoped_refptr<WiFiDisplayAudioEncoder>)>; 21 base::Callback<void(scoped_refptr<WiFiDisplayAudioEncoder>)>;
22 22
23 static void Create(const wds::AudioCodec& audio_codec, 23 static void Create(const wds::AudioCodec& audio_codec,
24 const AudioEncoderCallback& encoder_callback); 24 const AudioEncoderCallback& encoder_callback);
25 25
26 protected: 26 protected:
27 static const size_t kInvalidCodecModeValue = ~static_cast<size_t>(0u); 27 static const size_t kInvalidCodecModeValue = ~static_cast<size_t>(0u);
28 28
29 // A factory method that creates a new encoder instance for Linear Pulse-Code
30 // Modulation (LPCM) audio encoding.
31 static void CreateLPCM(const wds::AudioCodec& audio_codec,
32 const AudioEncoderCallback& encoder_callback);
33
29 explicit WiFiDisplayAudioEncoder(const wds::AudioCodec& audio_codec); 34 explicit WiFiDisplayAudioEncoder(const wds::AudioCodec& audio_codec);
30 ~WiFiDisplayAudioEncoder() override; 35 ~WiFiDisplayAudioEncoder() override;
31 36
32 size_t GetAudioCodecMode() const; 37 size_t GetAudioCodecMode() const;
33 38
34 const wds::AudioCodec audio_codec_; 39 const wds::AudioCodec audio_codec_;
35 }; 40 };
36 41
37 } // namespace extensions 42 } // namespace extensions
38 43
39 #endif // EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_AUDI O_ENCODER_H_ 44 #endif // EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_AUDI O_ENCODER_H_
OLDNEW
« no previous file with comments | « extensions/extensions.gypi ('k') | extensions/renderer/api/display_source/wifi_display/wifi_display_audio_encoder.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698