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.
Updated link: http://dranger.com/ffmpeg/ Thanks everyone for the suggestions! On Thu, Feb 19, 2015 at 2:29 AM, Max Vlasov <max.vla...@gmail.com> wrote: > Stephen, > 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). > > ... > static int get_video_frame(VideoState *is, AVFrame *frame, AVPacket *pkt, > int *serial) > ... > if (decoder_reorder_pts == -1) { > frame->pts = av_frame_get_best_effort_timestamp(frame); > } else if (decoder_reorder_pts) { > frame->pts = frame->pkt_pts; > } else { > frame->pts = frame->pkt_dts; > } > > Probably you need time to rework (vs update) the tutorial. Just my two > cents for your possible future activity :) > > On Wed, Feb 18, 2015 at 7:16 PM, Stephen Dranger <dran...@gmail.com> > wrote: > >> 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! >> >> On Tue, Feb 17, 2015 at 6:23 AM, Max Vlasov <max.vla...@gmail.com> wrote: >> >>> Stephen, >>> >>> Thanks for the update, >>> 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. >>> >>> Max >>> >>> On Mon, Feb 16, 2015 at 11:24 AM, Stephen Dranger <dran...@gmail.com> >>> wrote: >>> >>>> I finally dusted off the old HTML, incorporated chelyaev's code >>>> changes, and updated my tutorial at: >>>> >>>> http://dranger.com/ffmpeg/ >>>> >>>> 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. >>>> >>>> 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. >>>> >>>> _______________________________________________ >>>> Libav-user mailing list >>>> Libav-user@ffmpeg.org >>>> http://ffmpeg.org/mailman/listinfo/libav-user >>>> >>>> >>> >>> _______________________________________________ >>> Libav-user mailing list >>> Libav-user@ffmpeg.org >>> http://ffmpeg.org/mailman/listinfo/libav-user >>> >>> >> >> _______________________________________________ >> Libav-user mailing list >> Libav-user@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/libav-user >> >> > > _______________________________________________ > Libav-user mailing list > Libav-user@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/libav-user > >
_______________________________________________ Libav-user mailing list Libav-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/libav-user