49 lines
1.5 KiB
Objective-C
49 lines
1.5 KiB
Objective-C
//
|
|
// VideoDecoderRenderer.h
|
|
// Moonlight
|
|
//
|
|
// Created by Cameron Gutman on 10/18/14.
|
|
// Copyright (c) 2014 Moonlight Stream. All rights reserved.
|
|
//
|
|
|
|
@import AVFoundation;
|
|
|
|
#import "ConnectionCallbacks.h"
|
|
#import "FrameQueue.h"
|
|
#import "Plot.h"
|
|
|
|
#include "Limelight.h"
|
|
|
|
@interface VideoDecoderRenderer : NSObject
|
|
|
|
@property (atomic, readonly) PlotMetrics decodeMetrics;
|
|
@property (atomic, readonly) PlotMetrics frameQueueMetrics;
|
|
|
|
@property (nonatomic, strong, readonly) AVSampleBufferDisplayLayer *displayLayer;
|
|
|
|
- (id)initWithView:(UIView*)view callbacks:(id<ConnectionCallbacks>)callbacks streamAspectRatio:(float)aspectRatio;
|
|
|
|
- (void)setupWithVideoFormat:(int)videoFormat width:(int)videoWidth height:(int)videoHeight frameRate:(int)frameRate;
|
|
- (void)renderFrame:(Frame *)frame atTime:(CMTime)targetTime;
|
|
- (void)cleanup;
|
|
- (void)setHdrMode:(BOOL)enabled;
|
|
- (void)safeCopyMetricsTo:(PlotMetrics *)dst from:(PlotMetrics *)src;
|
|
- (void)getAllStats:(video_stats_t *)stats;
|
|
- (void)optimizeRefreshRate;
|
|
- (void)resetFramePacing;
|
|
|
|
- (int)submitDecodeBuffer:(unsigned char *)data
|
|
length:(int)length
|
|
bufferType:(int)bufferType
|
|
decodeUnit:(PDECODE_UNIT)du
|
|
decodeStartTime:(CFTimeInterval)decodeStartTime;
|
|
|
|
- (OSStatus)decodeFrameWithSampleBuffer:(CMSampleBufferRef)sampleBuffer
|
|
frameNumber:(int)frameNumber
|
|
frameType:(int)frameType
|
|
decodeStartTime:(CFTimeInterval)decodeStartTime;
|
|
|
|
- (void)invalidateDecompressionSession;
|
|
|
|
@end
|