On 19/08/13 08:45, Martin Storsjö wrote: >>> That is, with FLV, you'd do "mark_keyframe_pos(cur_stream_pos); >>> av_write_frame(keyframe_packet);", while you should do >>> "av_write_frame(keyframe_packet); mark_keyframe_pos(cur_stream_pos);" >>> with WebM. >> >> And works because you write down every packet as a stand alone entity >> while in mkv you have clusters of packets, I could make optionally so >> your cluster starts and ends every video packet but I'm not sure how >> nice would be. > > Nah, I don't think that would be necessary, but just briefly mentioning > this would probably be good.
Updating commit messages accordingly. > Another thing that could be done however, is adding AVFMT_ALLOW_FLUSH to > .flags and making that flush the current cluster. Then the caller could > even more easily decide how/when to cut clusters by doing > av_write_frame(NULL) whenever they want to start a new cluster from > fresh right now. Then you'd know that the keyframe cluster will start at > that point in the stream from after the flush (even if the keyframe > cluster is only output much later). I could do a patch for that if > you're ok with the idea. Probably works well, I like it =) lu _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
