This repository was archived by the owner on Oct 25, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +20
-4
lines changed Expand file tree Collapse file tree 2 files changed +20
-4
lines changed Original file line number Diff line number Diff line change @@ -227,6 +227,13 @@ static_library("owt_sdk_base") {
227227
228228 defines = [ " USE_BUILTIN_SW_CODECS" ]
229229
230+ if (owt_cg_server ) {
231+ defines += [ " OWT_CG_SERVER" ]
232+ }
233+ if (owt_cg_client ) {
234+ defines += [ " OWT_CG_CLIENT" ]
235+ }
236+
230237 if (owt_msdk_header_root != " " ) {
231238 include_dirs += [ owt_msdk_header_root ]
232239 }
@@ -295,7 +302,7 @@ static_library("owt_sdk_base") {
295302 " sdk/base/win/videorendererd3d11.cc" ,
296303 " sdk/base/win/videorendererd3d11.h" ,
297304 ]
298- if (owt_msdk_header_root != " " || owt_ffmpeg_root != " " ) {
305+ if (owt_msdk_header_root != " " || owt_ffmpeg_root != " " || owt_cg_server ) {
299306 sources += [
300307 " sdk/base/win/externalvideodecoderfactory.cc" ,
301308 " sdk/base/win/externalvideodecoderfactory.h" ,
@@ -420,6 +427,9 @@ static_library("owt_sdk_p2p") {
420427 if (owt_cg_server ) {
421428 defines = [ " OWT_CG_SERVER" ]
422429 }
430+ if (owt_cg_client ) {
431+ defines = [ " OWT_CG_CLIENT" ]
432+ }
423433}
424434static_library (" owt_sdk_conf" ) {
425435 deps = [
Original file line number Diff line number Diff line change @@ -190,7 +190,11 @@ void PeerConnectionDependencyFactory::
190190 if (encoded_frame_) {
191191 encoder_factory.reset (new EncodedVideoEncoderFactory ());
192192 } else if (render_hardware_acceleration_enabled_) {
193- #if defined(WEBRTC_WIN) && defined(OWT_USE_MSDK)
193+ #if defined(OWT_CG_CLIENT)
194+ // CG client app takes care of external encoder. If it's expected to receive
195+ // video streams, an encoder must be provided.
196+ encoder_factory.reset (new ExternalVideoEncoderFactory ());
197+ #elif defined(WEBRTC_WIN) && defined(OWT_USE_MSDK)
194198 encoder_factory.reset (new ExternalVideoEncoderFactory ());
195199#else
196200 // For Linux HW encoder pending verification.
@@ -204,10 +208,12 @@ void PeerConnectionDependencyFactory::
204208 decoder_factory.reset (new CustomizedVideoDecoderFactory (
205209 GlobalConfiguration::GetCustomizedVideoDecoder ()));
206210 } else if (render_hardware_acceleration_enabled_) {
207- #if defined(OWT_USE_MSDK) || defined(OWT_USE_FFMPEG)
211+ #if defined(OWT_USE_MSDK) || defined(OWT_USE_FFMPEG) || defined(OWT_CG_SERVER)
208212#if defined(WEBRTC_WIN)
209213 decoder_factory.reset (new ExternalVideoDecoderFactory (nullptr ));
210- #else
214+ #elif !defined(OWT_CG_SERVER)
215+ // Linux CG server is supposed to have external decoder so it can receives
216+ // video streams from client.
211217 decoder_factory.reset (new ExternalVideoDecoderFactory ());
212218#endif
213219#else
You can’t perform that action at this time.
0 commit comments