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

Unified Diff: extensions/renderer/api/display_source/wifi_display/wifi_display_media_pipeline.h

Issue 1871553003: [chrome.displaySource][WiFi Display] Send media stream to sink (renderer part) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@media_pipeline
Patch Set: Added result callback to WiFiDisplayMediaService.SetDestinationPoint Created 4 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 side-by-side diff with in-line comments
Download patch
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_;

Powered by Google App Engine
This is Rietveld 408576698