Files
VoidLink/VoidLink/Stream/VideoDecoderRenderer.h
T

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