Am 18.03.15 um 09:37 schrieb Matthieu Bouron: > On Fri, Mar 13, 2015 at 8:16 PM, <matthieu.bou...@gmail.com> wrote: > >> From: Matthieu Bouron <matthieu.bou...@gmail.com> >> >> --- >> libavdevice/avfoundation.m | 21 +++++++++++++++------ >> 1 file changed, 15 insertions(+), 6 deletions(-) >> >> diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m >> index 8112229..5bcd6a4 100644 >> --- a/libavdevice/avfoundation.m >> +++ b/libavdevice/avfoundation.m >> @@ -881,9 +881,14 @@ static int avf_read_packet(AVFormatContext *s, >> AVPacket *pkt) >> return AVERROR(EIO); >> } >> >> - pkt->pts = pkt->dts = av_rescale_q(av_gettime() - >> ctx->first_pts, >> - AV_TIME_BASE_Q, >> - avf_time_base_q); >> + CMItemCount count; >> + CMSampleTimingInfo timing_info; >> + >> + if >> (CMSampleBufferGetOutputSampleTimingInfoArray(ctx->current_frame, 1, >> &timing_info, &count) == noErr) { >> + AVRational timebase_q = av_make_q(1, >> timing_info.presentationTimeStamp.timescale); >> + pkt->pts = pkt->dts = >> av_rescale_q(timing_info.presentationTimeStamp.value, timebase_q, >> avf_time_base_q); >> + } >> + >> pkt->stream_index = ctx->video_stream_index; >> pkt->flags |= AV_PKT_FLAG_KEY; >> >> @@ -911,9 +916,13 @@ static int avf_read_packet(AVFormatContext *s, >> AVPacket *pkt) >> return AVERROR(EIO); >> } >> >> - pkt->pts = pkt->dts = av_rescale_q(av_gettime() - >> ctx->first_audio_pts, >> - AV_TIME_BASE_Q, >> - avf_time_base_q); >> + CMItemCount count; >> + CMSampleTimingInfo timing_info; >> + >> + if >> (CMSampleBufferGetOutputSampleTimingInfoArray(ctx->current_audio_frame, 1, >> &timing_info, &count) == noErr) { >> + AVRational timebase_q = av_make_q(1, >> timing_info.presentationTimeStamp.timescale); >> + pkt->pts = pkt->dts = >> av_rescale_q(timing_info.presentationTimeStamp.value, timebase_q, >> avf_time_base_q); >> + } >> >> pkt->stream_index = ctx->audio_stream_index; >> pkt->flags |= AV_PKT_FLAG_KEY; >> -- >> 2.3.2 >> >> > ping
Ok if tested. -Thilo _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel