blob: 79c942a12967dcf6ca08fd7ced15e8462491952c [file] [log] [blame]
Anders Carlsson7e042812017-10-05 16:55:38 +02001/*
2 * Copyright (c) 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#import <Foundation/Foundation.h>
12
13#import "NSString+StdString.h"
14#import "RTCWrappedNativeVideoDecoder.h"
15
16@implementation RTCWrappedNativeVideoDecoder {
17 std::unique_ptr<webrtc::VideoDecoder> _wrappedDecoder;
18}
19
20- (instancetype)initWithNativeDecoder:(std::unique_ptr<webrtc::VideoDecoder>)decoder {
21 if (self = [super init]) {
22 _wrappedDecoder = std::move(decoder);
23 }
24
25 return self;
26}
27
28- (std::unique_ptr<webrtc::VideoDecoder>)releaseWrappedDecoder {
29 return std::move(_wrappedDecoder);
30}
31
32#pragma mark - RTCVideoDecoder
33
34- (void)setCallback:(RTCVideoDecoderCallback)callback {
35 RTC_NOTREACHED();
36}
37
Anders Carlsson2a1bbc32018-04-04 12:49:43 +020038- (NSInteger)startDecodeWithNumberOfCores:(int)numberOfCores {
39 RTC_NOTREACHED();
40 return 0;
41}
42
Anders Carlsson7e042812017-10-05 16:55:38 +020043- (NSInteger)startDecodeWithSettings:(RTCVideoEncoderSettings *)settings
44 numberOfCores:(int)numberOfCores {
45 RTC_NOTREACHED();
46 return 0;
47}
48
49- (NSInteger)releaseDecoder {
50 RTC_NOTREACHED();
51 return 0;
52}
53
54- (NSInteger)decode:(RTCEncodedImage *)encodedImage
55 missingFrames:(BOOL)missingFrames
56 fragmentationHeader:(RTCRtpFragmentationHeader *)fragmentationHeader
Peter Hanspersd9b64cd2018-01-12 16:16:18 +010057 codecSpecificInfo:(nullable id<RTCCodecSpecificInfo>)info
Anders Carlsson7e042812017-10-05 16:55:38 +020058 renderTimeMs:(int64_t)renderTimeMs {
59 RTC_NOTREACHED();
60 return 0;
61}
62
63- (NSString *)implementationName {
64 RTC_NOTREACHED();
65 return nil;
66}
67
68@end