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
							 |