<div dir="ltr"><div>Stephen, <br><br>great work, the synching section looks very up to date, at least from my point of view. I'm not sure, but the tricky feature with buffer intercepting might appear somewhere for historical/reference purposes although the linear structure of your tutorial poses challenges for any sub-section/reference information presentation. Possibly it's better not to complicate things more<br><br></div>Thanks!<br><div><br><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 22, 2015 at 4:41 AM, Stephen Dranger <span dir="ltr"><<a href="mailto:dranger@gmail.com" target="_blank">dranger@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>So I've made most of the changes wm4 and Max have suggested, and retested everything. So, it works, but it could still use a lot more work. This was supposed to be a quick fix; when I get more time to devote to it, I'll have to look at ffplay.c and figure out the major changes it has made since I copied off it in the first place 8 years ago.<br><br></div><div>Updated link: <a href="http://dranger.com/ffmpeg/" target="_blank">http://dranger.com/ffmpeg/</a><br></div><div><br></div>Thanks everyone for the suggestions!<br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 19, 2015 at 2:29 AM, Max Vlasov <span dir="ltr"><<a href="mailto:max.vlasov@gmail.com" target="_blank">max.vlasov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Stephen, <br>I see your point. There's no problem in describing a working way, but probably the main misleading issue with the section is that it still hints that there's no current "official" way to get the current time time stamp while even in the ffmplay.c (mentioned  by you) the code already uses the function I mentioned (av_frame_get_best_effort_timestamp). <br><br>...<br>static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, int *serial)<br>...<br>        if (decoder_reorder_pts == -1) {<br>            frame->pts = av_frame_get_best_effort_timestamp(frame);<br>        } else if (decoder_reorder_pts) {<br>            frame->pts = frame->pkt_pts;<br>        } else {<br>            frame->pts = frame->pkt_dts;<br>        }<br><br></div><div>Probably you need time to rework (vs update) the tutorial. Just my two cents for your possible future activity :)<br></div></div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 18, 2015 at 7:16 PM, Stephen Dranger <span dir="ltr"><<a href="mailto:dranger@gmail.com" target="_blank">dranger@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">It's only reliable in the sense that I tried running it, and the audio matched what was being shown on the screen. I'm sure there are better techniques; I haven't yet done the work of going through ffplay.c and seeing what has changed in terms of technique. (The original tutorial was basically copying the code in ffplay.c back then, too.) Thanks to wm4 for simple changes I can make immediately! </div><div><div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Feb 17, 2015 at 6:23 AM, Max Vlasov <span dir="ltr"><<a href="mailto:max.vlasov@gmail.com" target="_blank">max.vlasov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Stephen,<br><br>Thanks for the update, <br>I wonder whether syncing section is still reliable? I saw some doubts at the list about this method (by intersepting  get_buffer/release_buffer). Besides av_frame_get_best_effort_timestamp never mentioned in the section. If the latter is unreliable, at least this might appear somewhere. <br><span><font color="#888888"><br>Max<br></font></span></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Mon, Feb 16, 2015 at 11:24 AM, Stephen Dranger <span dir="ltr"><<a href="mailto:dranger@gmail.com" target="_blank">dranger@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">I finally dusted off the old HTML, incorporated chelyaev's code changes, and updated my tutorial at: <br><br><a href="http://dranger.com/ffmpeg/" target="_blank">http://dranger.com/ffmpeg/</a> <br><br>to represent all of the API changes that have happened over the years. Big thanks to chelyaev who kept it up to date. I suspect that there is a lot of work to be done to really update the tutorial to keep up with modern techniques, but at the very least this tutorial's code is no longer rotting. <br><br>All code was compiled and tested on LAVC 54.59.100, LAVF 54.29.104, SWS 2.1.101, SDL 1.2.15 on GCC 4.7.2 in Debian.<br></div>
<br></div></div><span>_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br></span></blockquote></div><br></div>
<br>_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br></blockquote></div><br></div>
</div></div><br>_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
<br></blockquote></div><br></div>