temporal_layer_thresholds_bps served only one purpose: its size was used
to infer number of temporal layers. I replaced it with num_temporal_layers,
which does what is says.
The practical reason for this change is the need to have possibility to
distinguish between cases when VP9 SVC temporal layering was/not set
through field trial. That was not possible with
temporal_layer_thresholds_bps[] because empty vector means 1 temporal
layer.
Bug: webrtc:8518
Change-Id: I275ec3a8c74e8ba409eb049878199f132a20ec51
Reviewed-on: https://webrtc-review.googlesource.com/58084
Commit-Queue: Sergey Silkin <ssilkin@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22230}
Moving usage of bitrate configuration related interface from Call
interface to the corresponding methods in the RtpSendTransportController
interface.
SetBitrateConfig was replaced with SetSdpBitrateParameters
SetBitrateConfigMask was replaced with SetClientBitratePreferences
OnNetworkRouteChanged was replaced with OnNetworkRouteChanged
This makes it more clear that RtpSendTransportController owns bitrate
configuration and fits a longer term ambition to reduce the scope of
the Call class.
Bug: webrtc:8415
Change-Id: I6d04eaad22a54ecd5ed60096e01689b0c67e9c65
Reviewed-on: https://webrtc-review.googlesource.com/54365
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22131}
This is a reland of 5897fe27abcbe70f706cc23adc26147e0581f97e.
Adding back CallConfig::kDefaultStartBitrateBps as deprecated.
Also making BitrateContraints::kDefaultStartBitrateBps private to stop
it from being used in other places.
Original change's description:
> Moved BitrateConfig out of Call::Config.
>
> This prepares for a CL extracting the bitrate configuration logic from
> the Call class.
>
> Also renaming BitrateConfig to BitrateConstraints.
>
> Bug: webrtc:8415
> Change-Id: I7e472683034c57bdc8093cdf5e78e477d1732480
> Reviewed-on: https://webrtc-review.googlesource.com/54400
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22104}
Bug: webrtc:8415
Change-Id: Iacfe2d6daedff710832ab89210c7c66d4403c93b
Reviewed-on: https://webrtc-review.googlesource.com/55980
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22123}
This reverts commit 5897fe27abcbe70f706cc23adc26147e0581f97e.
Reason for revert: Breaking internal builds
Original change's description:
> Moved BitrateConfig out of Call::Config.
>
> This prepares for a CL extracting the bitrate configuration logic from
> the Call class.
>
> Also renaming BitrateConfig to BitrateConstraints.
>
> Bug: webrtc:8415
> Change-Id: I7e472683034c57bdc8093cdf5e78e477d1732480
> Reviewed-on: https://webrtc-review.googlesource.com/54400
> Commit-Queue: Sebastian Jansson <srte@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Niels Moller <nisse@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#22104}
TBR=nisse@webrtc.org,stefan@webrtc.org,srte@webrtc.org
Change-Id: I598040edba7f1ff8b39d2d9c3c3ceca5627aaa0c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8415
Reviewed-on: https://webrtc-review.googlesource.com/55740
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22106}
This prepares for a CL extracting the bitrate configuration logic from
the Call class.
Also renaming BitrateConfig to BitrateConstraints.
Bug: webrtc:8415
Change-Id: I7e472683034c57bdc8093cdf5e78e477d1732480
Reviewed-on: https://webrtc-review.googlesource.com/54400
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#22104}
The main pieces of this refactor are splitting up the creation of
simulcast layers for screenshare or the normal case, more consistent
naming, renaming streams to layers and trying to be more explicit with
some of the logic. Also added TODOs for future work to put more
application control into creating simulcast streams.
Bug: webrtc:8785
Change-Id: Ibf49fa0cc6d890ff96f8ee11c89d93a2c94119d6
Reviewed-on: https://webrtc-review.googlesource.com/47580
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21989}
Currently all simulcast streams are set as active by default. This
update takes the values of the rtp encoding parameters and wires those
values down to the VideoSendStream and VideoStreamEncoder, so that the
appropriate simulcast streams can be turned off and on. This includes
adding more application specific controls in the EncoderStreamFactory.
Bug: webrtc:8653
Change-Id: Iaa7da3209cea0f0db72543981a319e319705cb00
Reviewed-on: https://webrtc-review.googlesource.com/47245
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21920}
When a simulcast stream is enabled or disabled, we want this state
change to be reflected properly in the RtpRtcp modules. Each video send
stream can contain multiple rtp_rtcp_modules pertaining to different
simulcast streams. These modules are currently all turned on/off when
the send stream is started and stopped. This change allows for
individual modules to be turned on/off. This means if a module stops
sending it will send a bye message, so the receiving side will not
expect more frames to be sent when the stream is inactive and the
encoder is no longer encoding/sending images.
Bug: webrtc:8653
Change-Id: Ib6d00240f627b4ff1714646e847026f24c7c3aa4
Reviewed-on: https://webrtc-review.googlesource.com/42841
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21880}
This CL adds a GN build flag to include builtin software codecs
(enabled by default).
When setting the flag to false, libvpx can also be excluded. The
benefit is that the resulting binary is smaller.
Replaces https://webrtc-review.googlesource.com/c/src/+/29203
Bug: webrtc:7925
Change-Id: Id330ea8a43169e449ee139eca18e4557cc932e10
Reviewed-on: https://webrtc-review.googlesource.com/36340
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Patrik Höglund <phoglund@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21818}
And wire it up to methods on RTCConfiguration, via MediaConfig::Video.
Bug: webrtc:8504
Change-Id: I30805ee20c11d1d2fe552eb81f16d514db0ba4a8
Reviewed-on: https://webrtc-review.googlesource.com/39786
Commit-Queue: Niels Moller <nisse@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Karl Wiberg <kwiberg@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21670}
This is a reland of d2b912aed132c751919ed286439fb39bbd714dda
Original change's description:
> Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator.
>
> I followed the wiring path for the max bitrate.
> Doc:
> https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing
>
> Bug: webrtc:8630
> Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
> Reviewed-on: https://webrtc-review.googlesource.com/30380
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21397}
TBR=solenberg@webrtc.org,eladalon@webrtc.org,sprang@webrtc.org,stefan@webrtc.org
Bug: webrtc:8630
Change-Id: I7429d9e270c9ecb4dfaf6aef85d3055c47658631
Reviewed-on: https://webrtc-review.googlesource.com/35600
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21524}
This reverts commit d2b912aed132c751919ed286439fb39bbd714dda.
Reason for revert: broke internal tests
Original change's description:
> Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator.
>
> I followed the wiring path for the max bitrate.
> Doc:
> https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing
>
> Bug: webrtc:8630
> Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
> Reviewed-on: https://webrtc-review.googlesource.com/30380
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21397}
TBR=solenberg@webrtc.org,eladalon@webrtc.org,sprang@webrtc.org,stefan@webrtc.org,pthatcher@webrtc.org,shampson@webrtc.org
Change-Id: If82810072e21818ae452a0fc3f984d44e5dac70c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8630
Reviewed-on: https://webrtc-review.googlesource.com/35540
Reviewed-by: Lu Liu <lliuu@webrtc.org>
Commit-Queue: Lu Liu <lliuu@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21399}
I followed the wiring path for the max bitrate.
Doc:
https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing
Bug: webrtc:8630
Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
Reviewed-on: https://webrtc-review.googlesource.com/30380
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21397}
instead of pair of pointer + size.
it removes hidden memcpy in RtpPacketReceived::Parse:
RtpPacketReceived keeps a reference to a CopyOnWriteBuffer. By
passing it the same CopyOnWriteBuffer that was created by
BaseChannel, one allocation and memcpy is avoided.
Bug: None
Change-Id: I5f89f478b380fc9aece3762d3a04f228d48598f5
Reviewed-on: https://webrtc-review.googlesource.com/23761
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21143}
Changes places where we explicitly construct an Optional to instead use
nullopt or the requisite value type only.
This CL was uploaded by git cl split.
TBR=pthatcher@webrtc.org
Bug: None
Change-Id: I6dd8677a65f897877fc848aefa7ab37d844e70ed
Reviewed-on: https://webrtc-review.googlesource.com/23573
Commit-Queue: Oskar Sundbom <ossu@webrtc.org>
Reviewed-by: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20816}
This is a reland of 154ee1fd8547768a49b7d67ce586ef5d3c5d9ebc
Original change's description:
> Move ulpfec, red, and flexfec codec to video engine
>
> These codecs are currently being added in the internal encoder factory.
> This means that the new injectable video codec factories will miss them.
> This CL moves adding them into the video engine so that both factory
> types will get them.
>
> This CL makes a functional change in that RED, ULPFEC, and FlexFec will
> be placed after both the internal and external codecs. Previously,
> it was placed between the internal and external codecs.
>
> Bug: webrtc:8527
> Change-Id: I5aa7a3ca674f621b17cf3aa095a225c753488e09
> Reviewed-on: https://webrtc-review.googlesource.com/22964
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20700}
TBR=brandt@webrtc.org
Bug: webrtc:8527
Change-Id: I79ced9a909fd424f1308d62e449268dcc9289538
Reviewed-on: https://webrtc-review.googlesource.com/24060
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20749}
Indicates if the forced sw fallback has had an effect (or would have had an effect if it had been
enabled).
Bug: webrtc:6634
Change-Id: I574b9001a2fae650fb894a1caa0d0f84257658e3
Reviewed-on: https://webrtc-review.googlesource.com/23300
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Åsa Persson <asapersson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20729}
This reverts commit 154ee1fd8547768a49b7d67ce586ef5d3c5d9ebc.
Reason for revert: Breaks AppRTCMobileTest on Android64 (M Nexus5X) at https://build.chromium.org/p/client.webrtc/console
Original change's description:
> Move ulpfec, red, and flexfec codec to video engine
>
> These codecs are currently being added in the internal encoder factory.
> This means that the new injectable video codec factories will miss them.
> This CL moves adding them into the video engine so that both factory
> types will get them.
>
> This CL makes a functional change in that RED, ULPFEC, and FlexFec will
> be placed after both the internal and external codecs. Previously,
> it was placed between the internal and external codecs.
>
> Bug: webrtc:8527
> Change-Id: I5aa7a3ca674f621b17cf3aa095a225c753488e09
> Reviewed-on: https://webrtc-review.googlesource.com/22964
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20700}
TBR=brandtr@webrtc.org,magjed@webrtc.org
Change-Id: I20569ae5aa4e5d794c8f7605ff5d2dd708442ae1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:8527
Reviewed-on: https://webrtc-review.googlesource.com/23640
Reviewed-by: Oleh Prypin <oprypin@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20707}
These codecs are currently being added in the internal encoder factory.
This means that the new injectable video codec factories will miss them.
This CL moves adding them into the video engine so that both factory
types will get them.
This CL makes a functional change in that RED, ULPFEC, and FlexFec will
be placed after both the internal and external codecs. Previously,
it was placed between the internal and external codecs.
Bug: webrtc:8527
Change-Id: I5aa7a3ca674f621b17cf3aa095a225c753488e09
Reviewed-on: https://webrtc-review.googlesource.com/22964
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20700}
OnTransportOverChanged is merged into OnNetworkRouteChanged in MediaChannel
because the transport overhead will be added to rtc::NetworkRoute structure.
This CL depends on https://webrtc-review.googlesource.com/c/src/+/13520
Bug: None
Change-Id: I6ed6583f6c91db4ce61a89406de39774239f3a04
Reviewed-on: https://webrtc-review.googlesource.com/15200
Commit-Queue: Zhi Huang <zhihuang@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20678}
Unprefixed LOG macros will be removed on 10/11/2017, this CL just
switch some LOG macros to RTC_LOG.
TBR=magjed@webrtc.org
Bug: webrtc:8452
Change-Id: I103ba7e8a58faaa65a1cf28bd0c72a879956cc16
Reviewed-on: https://webrtc-review.googlesource.com/21960
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20627}
This reverts commit 267d84baf0597f89a3d1f66d323db754bc5d9239.
Reason for reland: Fix the bug; decoder is not allowed to ever be null and we need to use a
NullVideoDecoder that ignores calls instead.
Original change's description:
> Revert "Update internal video decoder factory to new interface"
>
> This reverts commit b2fc9b1b104240e68047901309deaee3e8b94bea.
>
> Reason for revert: Suspected to cause failures on Android bots on webrtc.fyi, see https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28K%20Nexus5%29/builds/21051
>
> Original change's description:
> > Update internal video decoder factory to new interface
> >
> > We want to move away from cricket::WebRtcVideoDecoderFactory and this CL
> > updates the internal factory. Also, VideoDecoderSoftwareFallbackWrapper
> > is updated to take a VideoDecoder as argument instead of a factory so it
> > can be used with external SW decoders.
> >
> > Bug: webrtc:7925
> > Change-Id: Ie6dc6c24f8610a2129620c6e2b42e3cebb2ddef7
> > Reviewed-on: https://webrtc-review.googlesource.com/7301
> > Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20597}
>
> TBR=brandtr@webrtc.org,magjed@webrtc.org,andersc@webrtc.org
>
> Change-Id: I0a12c98fdc30f00d58c85ee7e088f50160d39724
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7925
> Reviewed-on: https://webrtc-review.googlesource.com/21420
> Reviewed-by: Christian Fremerey <chfremer@webrtc.org>
> Commit-Queue: Christian Fremerey <chfremer@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20605}
TBR=brandtr@webrtc.org,magjed@webrtc.org,andersc@webrtc.org,chfremer@webrtc.org,chfremer@google.com
Change-Id: I6cf5794dc3fadfa86809a94da80b69dbb4c56f52
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/21541
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20623}
This reverts commit a7678667fc726979ca27d2429689d5735cca425d.
Reason for reland: Fix initializer list constructor.
Original change's description:
> Revert "Add helper functions for migrating to new video codec factories"
>
> This reverts commit 1c9623c70db42550d152c127e01434004087f743.
>
> Reason for revert: Breaks brace initialization:
>
> cricket::VideoDecoderParams params = { "deadbeef" };
>
> I suggest adding an initializer list constructor.
>
> Original change's description:
> > Add helper functions for migrating to new video codec factories
> >
> > This CL adds helper functions in media/engine/convert_legacy_video_factory.h to
> > convert from the old WebRtcVideoEncoder and WebRtcVideoDecoder to the new
> > webrtc::VideoEncoder and webrtc::VideoDecoder.
> >
> > The purpose is to make it as easy as possible for clients to migrate to the new
> > API and allow us to stop depending on the internal SW codecs as soon as possible.
> >
> > There still exists an ugly decoder adapter class in the video engine. The reason
> > is that we need to continue to pass in the |receive_stream_id| decoder params to
> > some legacy clients.
> >
> > Bug: webrtc:7925
> > Change-Id: I43ff03e036411a85d4940fe517a34489f171d698
> > Reviewed-on: https://webrtc-review.googlesource.com/15181
> > Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#20475}
>
> TBR=magjed@webrtc.org,andersc@webrtc.org
>
> Change-Id: I0d1084dc86979fbca748d9ba287d1db3dbe52b44
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7925
> Reviewed-on: https://webrtc-review.googlesource.com/17160
> Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
> Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20486}
TBR=deadbeef@webrtc.org,magjed@webrtc.org,andersc@webrtc.org
Change-Id: Ic825d133b6e1c6e5aad811ba528751dd5ed85e67
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/17360
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20501}
This reverts commit 1c9623c70db42550d152c127e01434004087f743.
Reason for revert: Breaks brace initialization:
cricket::VideoDecoderParams params = { "deadbeef" };
I suggest adding an initializer list constructor.
Original change's description:
> Add helper functions for migrating to new video codec factories
>
> This CL adds helper functions in media/engine/convert_legacy_video_factory.h to
> convert from the old WebRtcVideoEncoder and WebRtcVideoDecoder to the new
> webrtc::VideoEncoder and webrtc::VideoDecoder.
>
> The purpose is to make it as easy as possible for clients to migrate to the new
> API and allow us to stop depending on the internal SW codecs as soon as possible.
>
> There still exists an ugly decoder adapter class in the video engine. The reason
> is that we need to continue to pass in the |receive_stream_id| decoder params to
> some legacy clients.
>
> Bug: webrtc:7925
> Change-Id: I43ff03e036411a85d4940fe517a34489f171d698
> Reviewed-on: https://webrtc-review.googlesource.com/15181
> Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#20475}
TBR=magjed@webrtc.org,andersc@webrtc.org
Change-Id: I0d1084dc86979fbca748d9ba287d1db3dbe52b44
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7925
Reviewed-on: https://webrtc-review.googlesource.com/17160
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Taylor Brandstetter <deadbeef@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20486}
This CL adds helper functions in media/engine/convert_legacy_video_factory.h to
convert from the old WebRtcVideoEncoder and WebRtcVideoDecoder to the new
webrtc::VideoEncoder and webrtc::VideoDecoder.
The purpose is to make it as easy as possible for clients to migrate to the new
API and allow us to stop depending on the internal SW codecs as soon as possible.
There still exists an ugly decoder adapter class in the video engine. The reason
is that we need to continue to pass in the |receive_stream_id| decoder params to
some legacy clients.
Bug: webrtc:7925
Change-Id: I43ff03e036411a85d4940fe517a34489f171d698
Reviewed-on: https://webrtc-review.googlesource.com/15181
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20475}
I want to move away from the old encoder factory interface
cricket::WebRtcEncoderFactory to the new webrtc::VideoEncoderFactory. I
created a new webrtc::SdpVideoFormat that essentially is a subset of the
cricket::VideoCodec variables. E.g. the encoder factories shouldn't have
to assign payload types to the codecs, so the payload is not part of
webrtc::SdpVideoFormat. I also didn't add the "feedback_params" that is
used in cricket::VideoCodec to webrtc::SdpVideoFormat. This is causing
problems now, because the internal encoder factory is adding flexfec
feedback params. To avoid this problem, I add these feedback params in
WebRtcVideoEngine instead, like we do for the other codecs.
Bug: webrtc:7925
Change-Id: I7c6ae8d1e1f47f3631c4804c223ec21da8d73685
Reviewed-on: https://webrtc-review.googlesource.com/15223
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20444}
Now decision between using SimulcastEncoderAdapter and using VP8 encoder
is postponed before codec is initialized for VP8 internal codecs. This is done
be new VP8EncoderProxy class. New error code for codec initialization is used
to signal that simulcast parameters are not supported.
Bug: webrtc:7925
Change-Id: I3a82c21bf5dfaaa7fa25350986830523f02c39d8
Reviewed-on: https://webrtc-review.googlesource.com/13980
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20419}
Track IDs are assigned by application during track creation.
Track IDs are used by custom bitrate allocation strategies to identify tracks.
Track ID can be empty, in that case bitrate allocation strategies will not be able to handle
these tracks specifically and will handle them as a default.
Bug: webrtc:8243
Change-Id: I89987e33328320bfd0539ad532342df6da144c98
Reviewed-on: https://webrtc-review.googlesource.com/4820
Commit-Queue: Alex Narest <alexnarest@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20285}
We will have to convert from webrtc::SdpVideoFormat to
cricket::VideoCodec in a couple of places until
cricket::WebRtcVideoEncoderFactory is gone. It will be convenient to
have the conversion logic in a common place.
Bug: webrtc:7925
Change-Id: Ie5e88599f28aeea647e936300c04f9071daffd53
Reviewed-on: https://webrtc-review.googlesource.com/4840
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20048}
The video codec factories should be owned by the video engine instead
of by the PeerConnectionFactory.
Bug: None
Change-Id: If63d47cef565138d51377af3fc9ea973950c9390
Reviewed-on: https://webrtc-review.googlesource.com/1601
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20002}
Replaced with scalars ulpfec_payload_type and red_payload_type.
In particular, ulpfec.red_rtx_payload_type, which duplicated info in
rtx_associated_payload_types, is deleted. This is a followup to cl
https://codereview.webrtc.org/3012963002.
BUG=webrtc:7135
Review-Url: https://codereview.webrtc.org/3019453002
Cr-Commit-Position: refs/heads/master@{#19965}
In https://webrtc-review.googlesource.com/c/src/+/1560 we moved WebRTC
from src/webrtc to src/ (in order to preserve an healthy git history).
This CL takes care of fixing header guards, #include paths, etc...
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org
Bug: chromium:611808
Change-Id: Iea91618212bee0af16aa3f05071eab8f93706578
Reviewed-on: https://webrtc-review.googlesource.com/1561
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19846}
In order to eliminate the WebRTC Subtree mirror in Chromium,
WebRTC is moving the content of the src/webrtc directory up
to the src/ directory.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
TBR=tommi@webrtc.org
Bug: chromium:611808
Change-Id: Iac59c5b51b950f174119565bac87955a7994bc38
Reviewed-on: https://webrtc-review.googlesource.com/1560
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19845}