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

Side by Side Diff: webrtc/ortc/rtpparametersconversion.h

Issue 2675173003: Adding "adapter" ORTC objects on top of ChannelManager/BaseChannel/etc. (Closed)
Patch Set: Add memcheck suppression for end-to-end tests. Created 3 years, 9 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 unified diff | Download patch
« no previous file with comments | « webrtc/ortc/ortcrtpsenderadapter.cc ('k') | webrtc/ortc/rtpparametersconversion.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright 2017 The WebRTC project authors. All Rights Reserved.
3 *
4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11 #ifndef WEBRTC_ORTC_RTPPARAMETERSCONVERSION_H_
12 #define WEBRTC_ORTC_RTPPARAMETERSCONVERSION_H_
13
14 #include <memory>
15 #include <vector>
16
17 #include "webrtc/api/rtcerror.h"
18 #include "webrtc/api/rtpparameters.h"
19 #include "webrtc/base/optional.h"
20 #include "webrtc/pc/mediasession.h"
21 #include "webrtc/media/base/codec.h"
22
23 namespace webrtc {
24
25 // NOTE: Some functions are templated for convenience, such that template-based
26 // code dealing with AudioContentDescription and VideoContentDescription can
27 // use this easily. Such methods are usable with cricket::AudioCodec and
28 // cricket::VideoCodec.
29
30 //***************************************************************************
31 // Functions for converting from new webrtc:: structures to old cricket::
32 // structures.
33 //
34 // As the return values imply, all of these functions do validation of the
35 // parameters and return an error if they're invalid. It's expected that any
36 // default values (such as video clock rate of 90000) have been filled by the
37 // time the webrtc:: structure is being converted to the cricket:: one.
38 //
39 // These are expected to be used when parameters are passed into an RtpSender
40 // or RtpReceiver, and need to be validated and converted so they can be
41 // applied to the media engine level.
42 //***************************************************************************
43
44 // Returns error on invalid input. Certain message types are only valid for
45 // certain feedback types.
46 RTCErrorOr<cricket::FeedbackParam> ToCricketFeedbackParam(
47 const RtcpFeedback& feedback);
48
49 // Verifies that the codec kind is correct, and it has mandatory parameters
50 // filled, with values in valid ranges.
51 template <typename C>
52 RTCErrorOr<C> ToCricketCodec(const RtpCodecParameters& codec);
53
54 // Verifies that payload types aren't duplicated, in addition to normal
55 // validation.
56 template <typename C>
57 RTCErrorOr<std::vector<C>> ToCricketCodecs(
58 const std::vector<RtpCodecParameters>& codecs);
59
60 // Validates that header extension IDs aren't duplicated.
61 RTCErrorOr<cricket::RtpHeaderExtensions> ToCricketRtpHeaderExtensions(
62 const std::vector<RtpHeaderExtensionParameters>& extensions);
63
64 // SSRCs are allowed to be ommitted. This may be used for receive parameters
65 // where SSRCs are unsignaled.
66 RTCErrorOr<cricket::StreamParamsVec> ToCricketStreamParamsVec(
67 const std::vector<RtpEncodingParameters>& encodings);
68
69 //*****************************************************************************
70 // Functions for converting from old cricket:: structures to new webrtc::
71 // structures. Unlike the above functions, these are permissive with regards to
72 // input validation; it's assumed that any necessary validation already
73 // occurred.
74 //
75 // These are expected to be used either to convert from audio/video engine
76 // capabilities to RtpCapabilities, or to convert from already-parsed SDP
77 // (in the form of cricket:: structures) to webrtc:: structures. The latter
78 // functionality is not yet implemented.
79 //*****************************************************************************
80
81 // Returns empty value if |cricket_feedback| is a feedback type not
82 // supported/recognized.
83 rtc::Optional<RtcpFeedback> ToRtcpFeedback(
84 const cricket::FeedbackParam& cricket_feedback);
85
86 template <typename C>
87 RtpCodecCapability ToRtpCodecCapability(const C& cricket_codec);
88
89 template <class C>
90 RtpCapabilities ToRtpCapabilities(
91 const std::vector<C>& cricket_codecs,
92 const cricket::RtpHeaderExtensions& cricket_extensions);
93
94 } // namespace webrtc
95
96 #endif // WEBRTC_ORTC_RTPPARAMETERSCONVERSION_H_
OLDNEW
« no previous file with comments | « webrtc/ortc/ortcrtpsenderadapter.cc ('k') | webrtc/ortc/rtpparametersconversion.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698