]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/avcodec.c
lavfi: rename vf_setpts.c to f_setpts.c
[ffmpeg] / libavfilter / avcodec.c
index ce53ed91181fd81663d4ad4eb99fea234fe60539..f452303bb4e4b55dafbc4df330181b14d1473d4e 100644 (file)
@@ -70,14 +70,28 @@ AVFilterBufferRef *avfilter_get_video_buffer_ref_from_frame(const AVFrame *frame
 AVFilterBufferRef *avfilter_get_audio_buffer_ref_from_frame(const AVFrame *frame,
                                                             int perms)
 {
-    AVFilterBufferRef *picref =
+    AVFilterBufferRef *samplesref =
         avfilter_get_audio_buffer_ref_from_arrays((uint8_t **)frame->data, frame->linesize[0], perms,
                                                   frame->nb_samples, frame->format,
                                                   av_frame_get_channel_layout(frame));
-    if (!picref)
+    if (!samplesref)
         return NULL;
-    avfilter_copy_frame_props(picref, frame);
-    return picref;
+    avfilter_copy_frame_props(samplesref, frame);
+    return samplesref;
+}
+
+AVFilterBufferRef *avfilter_get_buffer_ref_from_frame(enum AVMediaType type,
+                                                      const AVFrame *frame,
+                                                      int perms)
+{
+    switch (type) {
+    case AVMEDIA_TYPE_VIDEO:
+        return avfilter_get_video_buffer_ref_from_frame(frame, perms);
+    case AVMEDIA_TYPE_AUDIO:
+        return avfilter_get_audio_buffer_ref_from_frame(frame, perms);
+    default:
+        return NULL;
+    }
 }
 
 int avfilter_copy_buf_props(AVFrame *dst, const AVFilterBufferRef *src)
@@ -131,6 +145,7 @@ int avfilter_copy_buf_props(AVFrame *dst, const AVFilterBufferRef *src)
     return 0;
 }
 
+#ifdef FF_API_FILL_FRAME
 int avfilter_fill_frame_from_audio_buffer_ref(AVFrame *frame,
                                               const AVFilterBufferRef *samplesref)
 {
@@ -148,3 +163,4 @@ int avfilter_fill_frame_from_buffer_ref(AVFrame *frame,
 {
     return avfilter_copy_buf_props(frame, ref);
 }
+#endif