示例#1
0
 public string GetVideoMarqueeText(VlcMediaPlayerInstance mediaPlayerInstance)
 {
     if (mediaPlayerInstance == IntPtr.Zero)
     {
         throw new ArgumentException("Media player instance is not initialized.");
     }
     return(Utf8InteropStringConverter.Utf8InteropToString(GetInteropDelegate <GetVideoMarqueeString>().Invoke(mediaPlayerInstance, VideoMarqueeOptions.Text)));
 }
示例#2
0
        public string GetAudioOutputDeviceName(string audioOutputDescriptionName, int deviceIndex)
        {
            EnsureVlcInstance();

            using (var audioOutputInterop = Utf8InteropStringConverter.ToUtf8StringHandle(audioOutputDescriptionName))
            {
                return(Utf8InteropStringConverter.Utf8InteropToString(GetInteropDelegate <GetAudioOutputDeviceName>().Invoke(myVlcInstance, audioOutputInterop, deviceIndex)));
            }
        }
示例#3
0
        public string GetMediaMeta(VlcMediaInstance mediaInstance, MediaMetadatas metadata)
        {
            if (mediaInstance == IntPtr.Zero)
            {
                throw new ArgumentException("Media instance is not initialized.");
            }
            var ptr = GetInteropDelegate <GetMediaMetadata>().Invoke(mediaInstance, metadata);

            return(Utf8InteropStringConverter.Utf8InteropToString(ptr));
        }
示例#4
0
        /// <summary>
        /// Gets log message debug infos.
        ///
        /// This function retrieves self-debug information about a log message:
        /// - the name of the VLC module emitting the message,
        /// - the name of the source code module (i.e.file) and
        /// - the line number within the source code module.
        ///
        /// The returned module name and file name will be NULL if unknown.
        /// The returned line number will similarly be zero if unknown.
        /// </summary>
        /// <param name="logContext">The log message context (as passed to the <see cref="LogCallback"/>)</param>
        /// <param name="module">The module name storage.</param>
        /// <param name="file">The source code file name storage.</param>
        /// <param name="line">The source code file line number storage.</param>
        public void GetLogContext(IntPtr logContext, out string module, out string file, out uint?line)
        {
            UIntPtr line2;
            IntPtr  module2;
            IntPtr  file2;

            GetInteropDelegate <GetLogContext>().Invoke(logContext, out module2, out file2, out line2);
            if (line2 == UIntPtr.Zero)
            {
                line = null;
            }
            else
            {
                line = line2.ToUInt32();
            }

            module = Utf8InteropStringConverter.Utf8InteropToString(module2);
            file   = Utf8InteropStringConverter.Utf8InteropToString(file2);
        }
示例#5
0
 public string GetCompiler()
 {
     return(Utf8InteropStringConverter.Utf8InteropToString(GetInteropDelegate <GetCompiler>().Invoke()));
 }
 public string GetEventTypeName(EventTypes eventType)
 {
     return(Utf8InteropStringConverter.Utf8InteropToString(GetInteropDelegate <GetEventTypeName>().Invoke(eventType)));
 }
 public string GetLastErrorMessage()
 {
     return(Utf8InteropStringConverter.Utf8InteropToString(GetInteropDelegate <GetLastErrorMessage>().Invoke()));
 }
 public string GetChangeset()
 {
     return(Utf8InteropStringConverter.Utf8InteropToString(GetInteropDelegate <GetChangeset>().Invoke()));
 }