This fixes regressions caused by: https://webrtc-review.googlesource.com/c/src/+/183120 ... which disabled payload type demuxing when multiple video tracks are present, to avoid one channel creating a default track intended for another channel. However, this isn't an issue when not bundling, as each track will be delivered on separate transport. And it's also not an issue when each track uses a distinct set of payload types (e.g., VP8 is mapped to PT 96 in one m= section, and PT 97 in another). This CL addresses both of those cases; PT demuxing is only disabled when two bundled m= sections have overlapping payload types. Bug: chromium:1139052, webrtc:12029 Change-Id: Ied844bffac2a5fac29147c11b56a5f83a95ecb36 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/187560 Commit-Queue: Taylor <deadbeef@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32419}
67 lines
2.2 KiB
C++
67 lines
2.2 KiB
C++
/*
|
|
* Copyright 2018 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
#ifndef PC_TEST_MOCK_CHANNEL_INTERFACE_H_
|
|
#define PC_TEST_MOCK_CHANNEL_INTERFACE_H_
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
#include "pc/channel_interface.h"
|
|
#include "test/gmock.h"
|
|
|
|
namespace cricket {
|
|
|
|
// Mock class for BaseChannel.
|
|
// Use this class in unit tests to avoid dependecy on a specific
|
|
// implementation of BaseChannel.
|
|
class MockChannelInterface : public cricket::ChannelInterface {
|
|
public:
|
|
MOCK_METHOD(cricket::MediaType, media_type, (), (const, override));
|
|
MOCK_METHOD(MediaChannel*, media_channel, (), (const, override));
|
|
MOCK_METHOD(const std::string&, transport_name, (), (const, override));
|
|
MOCK_METHOD(const std::string&, content_name, (), (const, override));
|
|
MOCK_METHOD(bool, enabled, (), (const, override));
|
|
MOCK_METHOD(bool, Enable, (bool), (override));
|
|
MOCK_METHOD(sigslot::signal1<ChannelInterface*>&,
|
|
SignalFirstPacketReceived,
|
|
(),
|
|
(override));
|
|
MOCK_METHOD(bool,
|
|
SetLocalContent,
|
|
(const cricket::MediaContentDescription*,
|
|
webrtc::SdpType,
|
|
std::string*),
|
|
(override));
|
|
MOCK_METHOD(bool,
|
|
SetRemoteContent,
|
|
(const cricket::MediaContentDescription*,
|
|
webrtc::SdpType,
|
|
std::string*),
|
|
(override));
|
|
MOCK_METHOD(bool, SetPayloadTypeDemuxingEnabled, (bool), (override));
|
|
MOCK_METHOD(const std::vector<StreamParams>&,
|
|
local_streams,
|
|
(),
|
|
(const, override));
|
|
MOCK_METHOD(const std::vector<StreamParams>&,
|
|
remote_streams,
|
|
(),
|
|
(const, override));
|
|
MOCK_METHOD(bool,
|
|
SetRtpTransport,
|
|
(webrtc::RtpTransportInternal*),
|
|
(override));
|
|
};
|
|
|
|
} // namespace cricket
|
|
|
|
#endif // PC_TEST_MOCK_CHANNEL_INTERFACE_H_
|