[FFmpeg-cvslog] lavd/avfoundation: Using the actual stream index instead of hardcoded value.

Thilo Borgmann git at videolan.org
Fri Sep 26 05:13:40 CEST 2014


ffmpeg | branch: master | Thilo Borgmann <thilo.borgmann at mail.de> | Tue Sep 23 16:48:06 2014 +0200| [92827e186999fe0011c9cf440758d5532b90c31f] | committer: Michael Niedermayer

lavd/avfoundation: Using the actual stream index instead of hardcoded value.

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=92827e186999fe0011c9cf440758d5532b90c31f
---

 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);



More information about the ffmpeg-cvslog mailing list