We implement a player using libavformat. Player reads MPEGTS streams via protocols HLS and HTTP. Application calls av_read_frame() as usual; note that this call is blocking due to network delays. Let's imagine that app has stuck inside av_read_frame() for long time, and at this time user wants to seek on the stream to particular place. It would be perfect to interrupt the read and proceed with seeking immediately. What is elegant solution to do this without delay? What we have thought about so far: 1. Interrupt the protocol reader using avio callback, and reopen the stream. Not an option, huge delay for reopen. 2. Fire the interrupt using avio callback, and then proceed working on opened stream. It is an abuse of interrupt callback concept and should not work theoretically. 3. Non-blocking demuxing (*_FLAG_NONBLOCK). Seems under construction. Don't see mentions of these flags neither in http protocol driver, nor in hls, mpegts demuxers. -- Andrey Utkin _______________________________________________ Libav-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/libav-user
