* commit '12db891dcd57b305d6e3c1e22ea8204dc26edda1': avf: move ff_write_chained to mux.c Conflicts: libavformat/mux.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.0
| @@ -836,3 +836,25 @@ int av_get_output_timestamp(struct AVFormatContext *s, int stream, | |||||
| s->oformat->get_output_timestamp(s, stream, dts, wall); | s->oformat->get_output_timestamp(s, stream, dts, wall); | ||||
| return 0; | return 0; | ||||
| } | } | ||||
| int ff_write_chained(AVFormatContext *dst, int dst_stream, AVPacket *pkt, | |||||
| AVFormatContext *src) | |||||
| { | |||||
| AVPacket local_pkt; | |||||
| local_pkt = *pkt; | |||||
| local_pkt.stream_index = dst_stream; | |||||
| if (pkt->pts != AV_NOPTS_VALUE) | |||||
| local_pkt.pts = av_rescale_q(pkt->pts, | |||||
| src->streams[pkt->stream_index]->time_base, | |||||
| dst->streams[dst_stream]->time_base); | |||||
| if (pkt->dts != AV_NOPTS_VALUE) | |||||
| local_pkt.dts = av_rescale_q(pkt->dts, | |||||
| src->streams[pkt->stream_index]->time_base, | |||||
| dst->streams[dst_stream]->time_base); | |||||
| if (pkt->duration) | |||||
| local_pkt.duration = av_rescale_q(pkt->duration, | |||||
| src->streams[pkt->stream_index]->time_base, | |||||
| dst->streams[dst_stream]->time_base); | |||||
| return av_write_frame(dst, &local_pkt); | |||||
| } | |||||
| @@ -3884,28 +3884,6 @@ int ff_url_join(char *str, int size, const char *proto, | |||||
| return strlen(str); | return strlen(str); | ||||
| } | } | ||||
| int ff_write_chained(AVFormatContext *dst, int dst_stream, AVPacket *pkt, | |||||
| AVFormatContext *src) | |||||
| { | |||||
| AVPacket local_pkt; | |||||
| local_pkt = *pkt; | |||||
| local_pkt.stream_index = dst_stream; | |||||
| if (pkt->pts != AV_NOPTS_VALUE) | |||||
| local_pkt.pts = av_rescale_q(pkt->pts, | |||||
| src->streams[pkt->stream_index]->time_base, | |||||
| dst->streams[dst_stream]->time_base); | |||||
| if (pkt->dts != AV_NOPTS_VALUE) | |||||
| local_pkt.dts = av_rescale_q(pkt->dts, | |||||
| src->streams[pkt->stream_index]->time_base, | |||||
| dst->streams[dst_stream]->time_base); | |||||
| if (pkt->duration) | |||||
| local_pkt.duration = av_rescale_q(pkt->duration, | |||||
| src->streams[pkt->stream_index]->time_base, | |||||
| dst->streams[dst_stream]->time_base); | |||||
| return av_write_frame(dst, &local_pkt); | |||||
| } | |||||
| void ff_parse_key_value(const char *str, ff_parse_key_val_cb callback_get_buf, | void ff_parse_key_value(const char *str, ff_parse_key_val_cb callback_get_buf, | ||||
| void *context) | void *context) | ||||
| { | { | ||||