示例#1
0
 private FFmpegClass(AVClass *p)
 {
     if (p == null)
     {
         throw new ArgumentNullException(nameof(p));
     }
     _p = p;
 }
示例#2
0
        /// <summary>
        /// Retrieves the options information associated with the given AVClass.
        /// </summary>
        /// <param name="avClass">The av class.</param>
        /// <returns>A list of option metadata</returns>
        public static unsafe List <OptionMeta> RetrieveOptions(AVClass *avClass)
        {
            // see: https://github.com/FFmpeg/FFmpeg/blob/e0f32286861ddf7666ba92297686fa216d65968e/tools/enum_options.c
            var result = new List <OptionMeta>(128);

            if (avClass == null)
            {
                return(result);
            }

            var option = avClass->option;

            while (option != null)
            {
                if (option->type != AVOptionType.AV_OPT_TYPE_CONST)
                {
                    result.Add(new OptionMeta(option));
                }

                option = ffmpeg.av_opt_next(avClass, option);
            }

            return(result);
        }
示例#3
0
 public static extern void sws_printVec2(SwsVector * @a, AVClass * @log_ctx, int @log_level);
 public extern static void sws_printVec2(SwsVector *a, AVClass *log_ctx, int log_level);
示例#5
0
 public static extern AVClass *av_opt_child_class_next(AVClass *parent, AVClass *prev);
示例#6
0
 public static extern void *av_opt_ptr(AVClass *avclass, void *obj, byte *name);
示例#7
0
 public static FFmpegClass?FromNativeOrNull(AVClass *p) => p != null ? new FFmpegClass(p) : null;
示例#8
0
 public static FFmpegClass FromNative(AVClass *p) => new FFmpegClass(p);