The output of vavp9enc fails to mux into webm file because of the invalid PTS
Describe your issue
The pipeline of
gst-launch-1.0 -vf filesrc location=1.h264 ! h264parse ! vah264dec ! vavp9lpenc ! vp9parse ! matroskamux ! filesink location=output.webm
Fail to mux into the webm file, with error log:
0:00:00.581910063 2788773 0x55f4fd550700 WARN matroskamux matroska-mux.c:4057:gst_matroska_mux_write_data:<matroskamux0:video_0> Invalid buffer timestamp; dropping buffer
Expected Behavior
It can succeed to mux the vp9 output into a webm file before the MR of !6688 (merged)
Additional Information
I traced the problem. The src h264 file does not have the VUI info and so the h264parse does not guess it frame rate. So all the output buffers of h264parse and decoder have invalid PTS info. There is no framerate field in the caps:
/GstPipeline:pipeline0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, width=(int)400, height=(int)300, framerate=(fraction)0/1, coded-picture-structure=(string)frame, chroma-format=(string)4:2:0 , bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true, stream-format=(string)avc, alignment=(string)au, profile=(string)high, level=(string)2.1, codec_data=(buffer)01640015ffe1000b27640 015ac56406427fb4001000428ee3cb0