internal static extern int LibVLCMediaAddSlaves(IntPtr media, MediaSlaveType slaveType, uint priority, [MarshalAs(UnmanagedType.LPStr)] string uri);
public bool AddSlave(MediaSlaveType type, uint priority, string uri) => Native.LibVLCMediaAddSlaves(NativeReference, type, priority, uri) != 0;
internal MediaSlaveStructure(IntPtr uri, MediaSlaveType type, uint priority) { Uri = uri; Type = type; Priority = priority; }
internal MediaSlave(string uri, MediaSlaveType type, uint priority) { Uri = uri; Type = type; Priority = priority; }
/// <summary>Add a slave to the current media.</summary> /// <param name="type">subtitle or audio</param> /// <param name="priority">from 0 (low priority) to 4 (high priority)</param> /// <param name="uri">Uri of the slave (should contain a valid scheme).</param> /// <returns>0 on success, -1 on error.</returns> /// <remarks> /// <para>A slave is an external input source that may contains an additional subtitle</para> /// <para>track (like a .srt) or an additional audio track (like a .ac3).</para> /// <para>This function must be called before the media is parsed (via</para> /// <para>libvlc_media_parse_with_options()) or before the media is played (via</para> /// <para>libvlc_media_player_play())</para> /// <para>LibVLC 3.0.0 and later.</para> /// </remarks> public bool AddSlave(MediaSlaveType type, uint priority, string uri) { var uriUtf8 = uri.ToUtf8(); return(MarshalUtils.PerformInteropAndFree(() => Native.LibVLCMediaAddSlaves(NativeReference, type, priority, uriUtf8) != 0, uriUtf8)); }
internal static extern int LibVLCMediaAddSlaves(IntPtr media, MediaSlaveType slaveType, uint priority, IntPtr uri);
/// <summary>Add a slave to the current media.</summary> /// <param name="type">subtitle or audio</param> /// <param name="priority">from 0 (low priority) to 4 (high priority)</param> /// <param name="uri">Uri of the slave (should contain a valid scheme).</param> /// <returns>0 on success, -1 on error.</returns> /// <remarks> /// <para>A slave is an external input source that may contains an additional subtitle</para> /// <para>track (like a .srt) or an additional audio track (like a .ac3).</para> /// <para>This function must be called before the media is parsed (via</para> /// <para>libvlc_media_parse_with_options()) or before the media is played (via</para> /// <para>libvlc_media_player_play())</para> /// <para>LibVLC 3.0.0 and later.</para> /// </remarks> public bool AddSlave(MediaSlaveType type, uint priority, string uri) { return(Internal.LibVLCMediaAddSlaves(NativeReference, type, priority, uri) != 0); }