forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| #include <objc/runtime.h>
 | |
| 
 | |
| #include <kinc/graphics4/texture.h>
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| typedef struct {
 | |
| 	double start;
 | |
| 	double videoStart;
 | |
| 	double next;
 | |
| 	// double audioTime;
 | |
| 	unsigned long long audioTime;
 | |
| 	bool playing;
 | |
| 	bool loop;
 | |
| 	void *sound;
 | |
| 	bool image_initialized;
 | |
| 	kinc_g4_texture_t image;
 | |
| 	double lastTime;
 | |
| 	float duration;
 | |
| 	bool finished;
 | |
| 	int myWidth;
 | |
| 	int myHeight;
 | |
| 
 | |
| 	id videoAsset;
 | |
| 	id assetReader;
 | |
| 	id videoTrackOutput;
 | |
| 	id audioTrackOutput;
 | |
| 	id url;
 | |
| } kinc_video_impl_t;
 | |
| 
 | |
| typedef struct kinc_internal_video_sound_stream {
 | |
| 	float *buffer;
 | |
| 	int bufferSize;
 | |
| 	int bufferWritePosition;
 | |
| 	int bufferReadPosition;
 | |
| 	uint64_t read;
 | |
| 	uint64_t written;
 | |
| } kinc_internal_video_sound_stream_t;
 | |
| 
 | |
| void kinc_internal_video_sound_stream_init(kinc_internal_video_sound_stream_t *stream, int channel_count, int frequency);
 | |
| 
 | |
| void kinc_internal_video_sound_stream_destroy(kinc_internal_video_sound_stream_t *stream);
 | |
| 
 | |
| void kinc_internal_video_sound_stream_insert_data(kinc_internal_video_sound_stream_t *stream, float *data, int sample_count);
 | |
| 
 | |
| float *kinc_internal_video_sound_stream_next_frame(kinc_internal_video_sound_stream_t *stream);
 | |
| 
 | |
| bool kinc_internal_video_sound_stream_ended(kinc_internal_video_sound_stream_t *stream);
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 |