[FFmpeg-devel] [PATCH 2/5] lavd/avfoundation: Using the actual stream index instead of hardcoded value.

Thilo Borgmann thilo.borgmann at mail.de
Wed Sep 24 12:42:32 CEST 2014


-------------- next part --------------
>From 4feac7499c412de035f79f12c33fa130a8a517c8 Mon Sep 17 00:00:00 2001
From: Thilo Borgmann <thilo.borgmann at mail.de>
Date: Tue, 23 Sep 2014 16:48:06 +0200
Subject: [PATCH 2/5] lavd/avfoundation: Using the actual stream index instead
 of hardcoded value.

---
 libavdevice/avfoundation.m | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index 895bd29..207d5c9 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);
-- 
1.8.3.2



More information about the ffmpeg-devel mailing list