From 92827e186999fe0011c9cf440758d5532b90c31f Mon Sep 17 00:00:00 2001 From: Thilo Borgmann Date: Tue, 23 Sep 2014 16:48:06 +0200 Subject: [PATCH] lavd/avfoundation: Using the actual stream index instead of hardcoded value. Signed-off-by: Michael Niedermayer --- libavdevice/avfoundation.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m index 895bd29964..207d5c9531 100644 --- a/libavdevice/avfoundation.m +++ b/libavdevice/avfoundation.m @@ -89,6 +89,7 @@ typedef struct int list_devices; int video_device_index; + int video_stream_index; enum AVPixelFormat pixel_format; AVCaptureSession *capture_session; @@ -295,6 +296,8 @@ static int get_video_config(AVFormatContext *s) return 1; } + ctx->video_stream_index = stream->index; + avpriv_set_pts_info(stream, 64, 1, avf_time_base); CVImageBufferRef image_buffer = CMSampleBufferGetImageBuffer(ctx->current_frame); @@ -423,7 +426,7 @@ static int avf_read_packet(AVFormatContext *s, AVPacket *pkt) pkt->pts = pkt->dts = av_rescale_q(av_gettime() - ctx->first_pts, AV_TIME_BASE_Q, avf_time_base_q); - pkt->stream_index = 0; + pkt->stream_index = ctx->video_stream_index; pkt->flags |= AV_PKT_FLAG_KEY; CVPixelBufferLockBaseAddress(image_buffer, 0);