基于OpenGL和OpenAL的媒體庫,Open Media Library 0.4.0 發布
openmedialibrary是一個基于OpenGL和OpenAL的媒體庫。它能夠將媒體流使用硬件加速顯示成視頻與聲音和真實的立體能力。
mlStreamLoadDefault(filepath); mlStreamConvert(alformat, alfreq, glwidth, glheight, glformat, glsize);for(i = 0; i< NUM_AUDIO_BUFFERS && !mlStreamAudioEnd(); i++) mlStreamConvertBufferChunk(size, bfrs[i]); alSourceQueueBuffers(src, i, bfrs); mlStreamReadFrame(); mlStreamSync(); if(mlStreamFrameCheck()) mlStreamConvertTexSubImage2D(target, level, xoffset, yoffset); alSourcePlay(src);
while(!mlStreamEnd()) { alGetSourcei(src, AL_BUFFERS_PROCESSED, prc); alSourceUnqueueBuffers(src, prc, prcs); for(i = 0; i < prc && !mlStreamAudioEnd(); i++) mlStreamConvertBufferChunk(size, prcs[i]); alSourceQueueBuffers(src, i, prcs); if(!mlStreamVideoEnd()) { mlStreamReadFrame(); if(mlStreamFrameCheck()) mlStreamConvertTexSubImage2D(target, level, xoffset, yoffset); } }
mlStreamUnload();
...</pre>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!