You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
ffserver: Do not add or rescale AV_NOPTS_VALUE from the demuxer
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -2276,7 +2276,7 @@ static int http_prepare_data(HTTPContext *c)
|
||||
} else {
|
||||
int source_index = pkt.stream_index;
|
||||
/* update first pts if needed */
|
||||
if (c->first_pts == AV_NOPTS_VALUE) {
|
||||
if (c->first_pts == AV_NOPTS_VALUE && pkt.dts != AV_NOPTS_VALUE) {
|
||||
c->first_pts = av_rescale_q(pkt.dts, c->fmt_in->streams[pkt.stream_index]->time_base, AV_TIME_BASE_Q);
|
||||
c->start_time = cur_time;
|
||||
}
|
||||
@@ -2315,8 +2315,10 @@ static int http_prepare_data(HTTPContext *c)
|
||||
* XXX: need more abstract handling */
|
||||
if (c->is_packetized) {
|
||||
/* compute send time and duration */
|
||||
c->cur_pts = av_rescale_q(pkt.dts, ist->time_base, AV_TIME_BASE_Q);
|
||||
c->cur_pts -= c->first_pts;
|
||||
if (pkt.dts != AV_NOPTS_VALUE) {
|
||||
c->cur_pts = av_rescale_q(pkt.dts, ist->time_base, AV_TIME_BASE_Q);
|
||||
c->cur_pts -= c->first_pts;
|
||||
}
|
||||
c->cur_frame_duration = av_rescale_q(pkt.duration, ist->time_base, AV_TIME_BASE_Q);
|
||||
/* find RTP context */
|
||||
c->packet_stream_index = pkt.stream_index;
|
||||
|
Reference in New Issue
Block a user