| Index: extensions/renderer/api/display_source/wifi_display/wifi_display_media_pipeline.h
|
| diff --git a/extensions/renderer/api/display_source/wifi_display/wifi_display_media_pipeline.h b/extensions/renderer/api/display_source/wifi_display/wifi_display_media_pipeline.h
|
| index 105e367f8c36afed08b95a09c46d5d39678aaa3e..254f315e1eeb420e7499922fe0535204565e272e 100644
|
| --- a/extensions/renderer/api/display_source/wifi_display/wifi_display_media_pipeline.h
|
| +++ b/extensions/renderer/api/display_source/wifi_display/wifi_display_media_pipeline.h
|
| @@ -13,6 +13,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "base/memory/weak_ptr.h"
|
| #include "base/synchronization/lock.h"
|
| +#include "extensions/common/mojo/wifi_display_session_service.mojom.h"
|
| #include "extensions/renderer/api/display_source/wifi_display/wifi_display_media_packetizer.h"
|
| #include "extensions/renderer/api/display_source/wifi_display/wifi_display_video_encoder.h"
|
| #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
|
| @@ -31,15 +32,18 @@ namespace extensions {
|
| // Threading: should belong to IO thread.
|
| class WiFiDisplayMediaPipeline {
|
| public:
|
| - using MediaPacketCallback =
|
| - base::Callback<void(const std::vector<uint8_t>&)>;
|
| using ErrorCallback = base::Callback<void(const std::string&)>;
|
| using InitCompletionCallback = base::Callback<void(bool)>;
|
| + using RegisterMediaServiceCallback =
|
| + base::Callback<void(WiFiDisplayMediaServiceRequest, const base::Closure&)>;
|
|
|
| static std::unique_ptr<WiFiDisplayMediaPipeline> Create(
|
| wds::SessionType type,
|
| const WiFiDisplayVideoEncoder::InitParameters& video_parameters,
|
| const wds::AudioCodec& audio_codec,
|
| + const std::string& sink_ip_address,
|
| + const std::pair<int, int>& sink_rtp_ports,
|
| + const RegisterMediaServiceCallback& service_callback,
|
| const ErrorCallback& error_callback);
|
| ~WiFiDisplayMediaPipeline();
|
| // Note: to be called only once.
|
| @@ -57,12 +61,16 @@ class WiFiDisplayMediaPipeline {
|
| wds::SessionType type,
|
| const WiFiDisplayVideoEncoder::InitParameters& video_parameters,
|
| const wds::AudioCodec& audio_codec,
|
| + const std::string& sink_ip_address,
|
| + const std::pair<int, int>& sink_rtp_ports,
|
| + const RegisterMediaServiceCallback& service_callback,
|
| const ErrorCallback& error_callback);
|
|
|
| void CreateVideoEncoder();
|
| void CreateMediaPacketizer();
|
| void OnVideoEncoderCreated(
|
| scoped_refptr<WiFiDisplayVideoEncoder> video_encoder);
|
| + void OnMediaServiceRegistered();
|
|
|
| void OnEncodedVideoFrame(const WiFiDisplayEncodedFrame& frame);
|
|
|
| @@ -75,9 +83,13 @@ class WiFiDisplayMediaPipeline {
|
| wds::SessionType type_;
|
| WiFiDisplayVideoEncoder::InitParameters video_parameters_;
|
| wds::AudioCodec audio_codec_;
|
| + std::string sink_ip_address_;
|
| + std::pair<int, int> sink_rtp_ports_;
|
|
|
| + RegisterMediaServiceCallback service_callback_;
|
| ErrorCallback error_callback_;
|
| InitCompletionCallback init_completion_callback_;
|
| + WiFiDisplayMediaServicePtr media_service_;
|
|
|
| base::WeakPtrFactory<WiFiDisplayMediaPipeline> weak_factory_;
|
|
|
|
|