On 2/19/2020 10:20 AM, Anton Khirnov wrote: > Quoting James Almer (2020-02-18 17:13:35) >> +static int dash_parse_prft(DASHContext *c, AVPacket *pkt) >> +{ >> + OutputStream *os = &c->streams[pkt->stream_index]; >> + int side_data_size; >> + AVProducerReferenceTime *prft; >> + >> + if (!c->write_prft) >> + return 0; >> + >> + prft = (AVProducerReferenceTime *)av_packet_get_side_data(pkt, >> AV_PKT_DATA_PRFT, &side_data_size); >> + if (!prft || side_data_size != sizeof(AVProducerReferenceTime) || >> prft->flags) { >> + // No encoder generated AVProducerReferenceTime side data. Instead >> of letting the mov muxer >> + // generate a capture-time one for the first packet, do it here so >> we can also use it for the >> + // manifest. >> + prft = (AVProducerReferenceTime *)av_packet_new_side_data(pkt, >> AV_PKT_DATA_PRFT, >> + >> sizeof(AVProducerReferenceTime)); >> + if (!prft) >> + return AVERROR(ENOMEM); >> + prft->wallclock = av_gettime(); >> + prft->flags = 24; > > It's pretty unclear what does this magic number mean. > The flags field in AVProducerReferenceTime is also undocumented.
It's the flags field in the isobmff spec for the prft box. I can add a comment mentioning that. 0 and 24 are the only values accepted by the dash-ll spec. The former signals the time a frame was feed to an encoder, and the latter signals an arbitrary but consistent time (in this case, the time a packet was feed to a packetizer). _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".