/// <summary> /// Initializes a new instance of the <see cref="AVInputFormat"/> class. /// </summary> /// <param name="nativeObject"> /// A pointer to the unmanaged structure which backs this <see cref="AVInputFormat"/> class. /// </param> public AVInputFormat(NativeAVInputFormat *nativeObject) { this.NativeObject = nativeObject; }
/// <summary> /// Open an input stream and read the header. The codecs are not opened. The stream must be closed with avformat_close_input(). /// </summary> /// <param name="context"> /// Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). /// May be a pointer to NULL, in which case an AVFormatContext is allocated by this /// function and written into ps. Note that a user-supplied AVFormatContext will /// be freed on failure. /// </param> /// <param name="url"> /// URL of the stream to open. /// </param> /// <param name="fmt"> /// If non-NULL, this parameter forces a specific input format. Otherwise the format is autodetected. /// </param> /// <param name="options"> /// A dictionary filled with AVFormatContext and demuxer-private options.On return /// this parameter will be destroyed and replaced with a dict containing options /// that were not found. May be NULL. /// </param> /// <returns> /// 0 on success, a negative AVERROR on failure. /// </returns> public int avformat_open_input(AVFormatContext context, string?url, NativeAVInputFormat *fmt, AVDictionary **options) { var ctx = context.NativeObject; return(ffmpeg.avformat_open_input(&ctx, url, fmt, options)); }