aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2014-05-31 01:09:58 +0300
committerMartin Storsjö <martin@martin.st>2014-05-31 12:02:23 +0300
commitf797b134cad4d248b1c8955659997980d0668bc3 (patch)
tree1b9012c88caa1d0f06c032fe812f8895a528ed30 /libavformat
parentd6d767d93e532246cacf3567e6bcad76a821f838 (diff)
downloadffmpeg-f797b134cad4d248b1c8955659997980d0668bc3.tar.gz
rtpenc_chain: Don't copy the time base to the source stream by default
Only copy it manually in the muxers where it makes sense (rtspenc, sapenc). Don't touch the original AVStream in movenchint, where the original AVStream should be kept untouched. This fixes the normal tracks in RTP hinted files after abb810db - the hint tracks were ok while the normal media tracks were broken, noticed by Michael Niedermayer. This reverts abb810db but achieves the same effect for the other muxers. Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/rtpenc_chain.c3
-rw-r--r--libavformat/rtsp.c1
-rw-r--r--libavformat/sapenc.c1
3 files changed, 2 insertions, 3 deletions
diff --git a/libavformat/rtpenc_chain.c b/libavformat/rtpenc_chain.c
index 38062543a2..10c4020cfe 100644
--- a/libavformat/rtpenc_chain.c
+++ b/libavformat/rtpenc_chain.c
@@ -96,9 +96,6 @@ int ff_rtp_chain_mux_open(AVFormatContext **out, AVFormatContext *s,
return ret;
}
- /* Copy the RTP AVStream timebase back to the original AVStream */
- st->time_base = rtpctx->streams[0]->time_base;
-
*out = rtpctx;
return 0;
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index b95be46f4f..06269bd0e1 100644
--- a/libavformat/rtsp.c
+++ b/libavformat/rtsp.c
@@ -734,6 +734,7 @@ int ff_rtsp_open_transport_ctx(AVFormatContext *s, RTSPStream *rtsp_st)
rtsp_st->rtp_handle = NULL;
if (ret < 0)
return ret;
+ st->time_base = ((AVFormatContext*)rtsp_st->transport_priv)->streams[0]->time_base;
} else if (rt->transport == RTSP_TRANSPORT_RAW) {
return 0; // Don't need to open any parser here
} else if (rt->transport == RTSP_TRANSPORT_RDT && CONFIG_RTPDEC)
diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c
index 7e2bba7a28..246b7cfa14 100644
--- a/libavformat/sapenc.c
+++ b/libavformat/sapenc.c
@@ -157,6 +157,7 @@ static int sap_write_header(AVFormatContext *s)
if (ret < 0)
goto fail;
s->streams[i]->priv_data = contexts[i];
+ s->streams[i]->time_base = contexts[i]->streams[0]->time_base;
av_strlcpy(contexts[i]->filename, url, sizeof(contexts[i]->filename));
}