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

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_format.cc

Issue 1232023006: Add support for VP9 packetization/depacketization. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: rebase Created 5 years, 4 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/modules/rtp_rtcp/rtp_rtcp.gypi ('k') | webrtc/modules/rtp_rtcp/source/rtp_format_vp9.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 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 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 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/modules/rtp_rtcp/source/rtp_format.h" 11 #include "webrtc/modules/rtp_rtcp/source/rtp_format.h"
12 12
13 #include "webrtc/modules/rtp_rtcp/source/rtp_format_h264.h" 13 #include "webrtc/modules/rtp_rtcp/source/rtp_format_h264.h"
14 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h" 14 #include "webrtc/modules/rtp_rtcp/source/rtp_format_video_generic.h"
15 #include "webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h" 15 #include "webrtc/modules/rtp_rtcp/source/rtp_format_vp8.h"
16 #include "webrtc/modules/rtp_rtcp/source/rtp_format_vp9.h"
16 17
17 namespace webrtc { 18 namespace webrtc {
18 RtpPacketizer* RtpPacketizer::Create(RtpVideoCodecTypes type, 19 RtpPacketizer* RtpPacketizer::Create(RtpVideoCodecTypes type,
19 size_t max_payload_len, 20 size_t max_payload_len,
20 const RTPVideoTypeHeader* rtp_type_header, 21 const RTPVideoTypeHeader* rtp_type_header,
21 FrameType frame_type) { 22 FrameType frame_type) {
22 switch (type) { 23 switch (type) {
23 case kRtpVideoH264: 24 case kRtpVideoH264:
24 return new RtpPacketizerH264(frame_type, max_payload_len); 25 return new RtpPacketizerH264(frame_type, max_payload_len);
25 case kRtpVideoVp8: 26 case kRtpVideoVp8:
26 assert(rtp_type_header != NULL); 27 assert(rtp_type_header != NULL);
27 return new RtpPacketizerVp8(rtp_type_header->VP8, max_payload_len); 28 return new RtpPacketizerVp8(rtp_type_header->VP8, max_payload_len);
29 case kRtpVideoVp9:
30 assert(rtp_type_header != NULL);
31 return new RtpPacketizerVp9(rtp_type_header->VP9, max_payload_len);
28 case kRtpVideoGeneric: 32 case kRtpVideoGeneric:
29 return new RtpPacketizerGeneric(frame_type, max_payload_len); 33 return new RtpPacketizerGeneric(frame_type, max_payload_len);
30 case kRtpVideoNone: 34 case kRtpVideoNone:
31 assert(false); 35 assert(false);
32 } 36 }
33 return NULL; 37 return NULL;
34 } 38 }
35 39
36 RtpDepacketizer* RtpDepacketizer::Create(RtpVideoCodecTypes type) { 40 RtpDepacketizer* RtpDepacketizer::Create(RtpVideoCodecTypes type) {
37 switch (type) { 41 switch (type) {
38 case kRtpVideoH264: 42 case kRtpVideoH264:
39 return new RtpDepacketizerH264(); 43 return new RtpDepacketizerH264();
40 case kRtpVideoVp8: 44 case kRtpVideoVp8:
41 return new RtpDepacketizerVp8(); 45 return new RtpDepacketizerVp8();
46 case kRtpVideoVp9:
47 return new RtpDepacketizerVp9();
42 case kRtpVideoGeneric: 48 case kRtpVideoGeneric:
43 return new RtpDepacketizerGeneric(); 49 return new RtpDepacketizerGeneric();
44 case kRtpVideoNone: 50 case kRtpVideoNone:
45 assert(false); 51 assert(false);
46 } 52 }
47 return NULL; 53 return NULL;
48 } 54 }
49 } // namespace webrtc 55 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/rtp_rtcp.gypi ('k') | webrtc/modules/rtp_rtcp/source/rtp_format_vp9.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698