| OLD | NEW |
| 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_MEDIA_P
IPELINE_H_ | 5 #ifndef EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_MEDIA_P
IPELINE_H_ |
| 6 #define EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_MEDIA_P
IPELINE_H_ | 6 #define EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_MEDIA_P
IPELINE_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 static std::unique_ptr<WiFiDisplayMediaPipeline> Create( | 40 static std::unique_ptr<WiFiDisplayMediaPipeline> Create( |
| 41 wds::SessionType type, | 41 wds::SessionType type, |
| 42 const WiFiDisplayVideoEncoder::InitParameters& video_parameters, | 42 const WiFiDisplayVideoEncoder::InitParameters& video_parameters, |
| 43 const wds::AudioCodec& audio_codec, | 43 const wds::AudioCodec& audio_codec, |
| 44 const std::string& sink_ip_address, | 44 const std::string& sink_ip_address, |
| 45 const std::pair<int, int>& sink_rtp_ports, | 45 const std::pair<int, int>& sink_rtp_ports, |
| 46 const RegisterMediaServiceCallback& service_callback, | 46 const RegisterMediaServiceCallback& service_callback, |
| 47 const ErrorCallback& error_callback); | 47 const ErrorCallback& error_callback); |
| 48 ~WiFiDisplayMediaPipeline(); | 48 ~WiFiDisplayMediaPipeline(); |
| 49 // Note: to be called only once. | 49 // Note: to be called only once. |
| 50 void Initialize( | 50 void Initialize(const InitCompletionCallback& callback); |
| 51 const InitCompletionCallback& callback); | |
| 52 | 51 |
| 53 void InsertRawVideoFrame( | 52 void InsertRawVideoFrame( |
| 54 const scoped_refptr<media::VideoFrame>& video_frame, | 53 const scoped_refptr<media::VideoFrame>& video_frame, |
| 55 base::TimeTicks reference_time); | 54 base::TimeTicks reference_time); |
| 56 | 55 |
| 57 void RequestIDRPicture(); | 56 void RequestIDRPicture(); |
| 58 | 57 |
| 59 private: | 58 private: |
| 59 using InitStepCompletionCallback = InitCompletionCallback; |
| 60 enum InitializationStep : unsigned; |
| 61 |
| 60 WiFiDisplayMediaPipeline( | 62 WiFiDisplayMediaPipeline( |
| 61 wds::SessionType type, | 63 wds::SessionType type, |
| 62 const WiFiDisplayVideoEncoder::InitParameters& video_parameters, | 64 const WiFiDisplayVideoEncoder::InitParameters& video_parameters, |
| 63 const wds::AudioCodec& audio_codec, | 65 const wds::AudioCodec& audio_codec, |
| 64 const std::string& sink_ip_address, | 66 const std::string& sink_ip_address, |
| 65 const std::pair<int, int>& sink_rtp_ports, | 67 const std::pair<int, int>& sink_rtp_ports, |
| 66 const RegisterMediaServiceCallback& service_callback, | 68 const RegisterMediaServiceCallback& service_callback, |
| 67 const ErrorCallback& error_callback); | 69 const ErrorCallback& error_callback); |
| 68 | 70 |
| 69 void CreateVideoEncoder(); | |
| 70 void CreateMediaPacketizer(); | 71 void CreateMediaPacketizer(); |
| 72 void OnInitialize(const InitCompletionCallback& callback, |
| 73 InitializationStep current_step, |
| 74 bool success); |
| 71 void OnVideoEncoderCreated( | 75 void OnVideoEncoderCreated( |
| 76 const InitStepCompletionCallback& callback, |
| 72 scoped_refptr<WiFiDisplayVideoEncoder> video_encoder); | 77 scoped_refptr<WiFiDisplayVideoEncoder> video_encoder); |
| 73 void OnMediaServiceRegistered(); | 78 void OnMediaServiceRegistered(const InitCompletionCallback& callback); |
| 74 | 79 |
| 75 void OnEncodedVideoFrame(const WiFiDisplayEncodedFrame& frame); | 80 void OnEncodedVideoFrame(const WiFiDisplayEncodedFrame& frame); |
| 76 | 81 |
| 77 bool OnPacketizedMediaDatagramPacket( | 82 bool OnPacketizedMediaDatagramPacket( |
| 78 WiFiDisplayMediaDatagramPacket media_datagram_packet); | 83 WiFiDisplayMediaDatagramPacket media_datagram_packet); |
| 79 | 84 |
| 80 scoped_refptr<WiFiDisplayVideoEncoder> video_encoder_; | 85 scoped_refptr<WiFiDisplayVideoEncoder> video_encoder_; |
| 81 std::unique_ptr<WiFiDisplayMediaPacketizer> packetizer_; | 86 std::unique_ptr<WiFiDisplayMediaPacketizer> packetizer_; |
| 82 | 87 |
| 83 wds::SessionType type_; | 88 wds::SessionType type_; |
| 84 WiFiDisplayVideoEncoder::InitParameters video_parameters_; | 89 WiFiDisplayVideoEncoder::InitParameters video_parameters_; |
| 85 wds::AudioCodec audio_codec_; | 90 wds::AudioCodec audio_codec_; |
| 86 std::string sink_ip_address_; | 91 std::string sink_ip_address_; |
| 87 std::pair<int, int> sink_rtp_ports_; | 92 std::pair<int, int> sink_rtp_ports_; |
| 88 | 93 |
| 89 RegisterMediaServiceCallback service_callback_; | 94 RegisterMediaServiceCallback service_callback_; |
| 90 ErrorCallback error_callback_; | 95 ErrorCallback error_callback_; |
| 91 InitCompletionCallback init_completion_callback_; | |
| 92 WiFiDisplayMediaServicePtr media_service_; | 96 WiFiDisplayMediaServicePtr media_service_; |
| 93 | 97 |
| 94 base::WeakPtrFactory<WiFiDisplayMediaPipeline> weak_factory_; | 98 base::WeakPtrFactory<WiFiDisplayMediaPipeline> weak_factory_; |
| 95 | 99 |
| 96 DISALLOW_COPY_AND_ASSIGN(WiFiDisplayMediaPipeline); | 100 DISALLOW_COPY_AND_ASSIGN(WiFiDisplayMediaPipeline); |
| 97 }; | 101 }; |
| 98 | 102 |
| 99 } // namespace extensions | 103 } // namespace extensions |
| 100 | 104 |
| 101 #endif // EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_MEDI
A_PIPELINE_H_ | 105 #endif // EXTENSIONS_RENDERER_API_DISPLAY_SOURCE_WIFI_DISPLAY_WIFI_DISPLAY_MEDI
A_PIPELINE_H_ |
| OLD | NEW |