public bool AttachVideoDevice(MPlaylistClass m_objPlaylist) { if (this._mrenderer == null) { return(false); } try { string name = string.Empty; string parameters = string.Empty; int index = -1; this._mrenderer.DeviceGet("renderer", out name, out parameters, out index); if (!string.IsNullOrEmpty(name)) { this._mrenderer.ObjectStart(m_objPlaylist); } } catch (System.Exception ex) { this._mrenderer.ObjectClose(); Marshal.ReleaseComObject(_mrenderer); _mrenderer = null; return(false); } return(true); }
public void Dispose() { if (this._mrenderer != null) { this._mrenderer.ObjectClose(); Marshal.ReleaseComObject(_mrenderer); this._mrenderer = null; } }
public bool DetachVideoDevice() { if (this._mrenderer != null) { this._mrenderer.ObjectClose(); Marshal.ReleaseComObject(_mrenderer); _mrenderer = null; } return(true); }
private void RendererWindow_Loaded(object sender, RoutedEventArgs e) { _mrenderer = new MRendererClass(); this.rendererComboBox.MDevice = _mrenderer; if (!string.IsNullOrEmpty(_deviceName)) { this.rendererComboBox.SelectedItem = _deviceName; //this.rendererComboBox.SelectedDevice = _deviceName; } }
private void Form1_Load(object sender, EventArgs e) { m_objFile = new MFileClass(); m_objRenderer = new MRendererClass(); m_objFile.PreviewWindowSet("", panelFile.Handle.ToInt32()); m_objFile.PreviewEnable("", 0, 1); FileRenList(); FileFormats(); }
private void Form1_Load(object sender, EventArgs e) { m_objRenderer = new MRendererClass(); m_objLiveScreenCapture = new MLiveClass(); m_objLiveNDI = new MLiveClass(); m_objLiveScreenCapture.PreviewWindowSet("", panel1.Handle.ToInt32()); m_objLiveScreenCapture.PreviewEnable("", 0, 1); m_objLiveNDI.PreviewWindowSet("", panel2.Handle.ToInt32()); m_objLiveNDI.PreviewEnable("", 0, 1); m_objLiveScreenCapture.DeviceSet("video", "Medialooks DXGI/DX11 ScreenCapture", ""); m_objLiveScreenCapture.ObjectStart(null); }
private void Form1_Load(object sender, EventArgs e) { m_objPlaylist = new MPlaylistClass(); m_objLive = new MLiveClass(); m_objRenderer = new MRendererClass(); m_objPlaylist.PreviewWindowSet("", panelPlaylist.Handle.ToInt32()); m_objPlaylist.PreviewEnable("", 0, 1); m_objLive.PreviewWindowSet("", panelLive.Handle.ToInt32()); m_objLive.PreviewEnable("", 0, 1); m_objLive.PropsSet("object::timecode.time_sync", "1"); m_objLive.PropsSet("object::on_frame.sync", "false"); m_objLive.OnFrameSafe += M_objLive_OnFrameSafe; }
public MRendererManager(MRendererSettings info /*, int instance*/) { //_instance = instance; _mrendererInfo = info; _mrenderer = new MRendererClass(); if (!string.IsNullOrEmpty(this.VideoDevice)) { _mrenderer.PropsSet("rate-control", "true"); _mrenderer.DeviceSet("renderer", this.VideoDevice, ""); if (this.ExternalKeyMode) { _mrenderer.DeviceSet("renderer::keying", "external", ""); } } AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; AppDomain.CurrentDomain.DomainUnload += CurrentDomain_DomainUnload; }
private void RendererWindow_Closed(object sender, EventArgs e) { Marshal.ReleaseComObject(_mrenderer); _mrenderer = null; }
private void Form1_Load(object sender, EventArgs e) { try { if (Properties.Settings.Default.UrlHistory != null) { object[] strHistory = NetworkPlaybackSample.Properties.Settings.Default.UrlHistory.ToArray(); } m_objFile = new MFileClass(); m_objFile.PreviewWindowSet("", panelPreview.Handle.ToInt32()); m_objFile.PreviewEnable("", 1, 1); m_objRenderer = new MRendererClass(); FillVideoFormats(); FillAudioFormats(); comboBoxVF.SelectedIndex = startVideoFormat; comboBoxAF.SelectedIndex = startAudioFormat; FillRenderers(); UpdateDelay(); } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); Application.Exit(); } string JSON = "{ \"Number of Input Ports\": \"1\", \"Device List\": ["; for (int i = 0; i < comboBoxRenderer.Items.Count; i++) { if (i != comboBoxRenderer.Items.Count - 1) { JSON += "\"" + comboBoxRenderer.Items[i] + "\","; } else { JSON += "\"" + comboBoxRenderer.Items[i] + "\"]}"; } } var client = new HttpClient(); string serverIP = textBox1.Text; string serverPort = textBox2.Text; var stringContent = new StringContent(JSON); client.PostAsync("http://" + serverIP + ":" + serverPort + "/device_list", stringContent); var data = GetIP(serverIP, serverPort).Result; var sdpContent = GetSDP(serverIP, serverPort).Result; string sdp = sdpContent.Replace("\\n", Environment.NewLine); sdp = sdp.Replace("\"", ""); string[] lines = Regex.Split(sdp, "\r\n|\r|\n"); string result = ""; foreach (string line in lines) { result += line.Trim() + Environment.NewLine; } if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\stream.sdp")) { File.Delete(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\stream.sdp"); } System.IO.File.WriteAllText(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\stream.sdp", result); try { string filePath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\stream.sdp"; m_objFile.FileNameSet(filePath, ""); m_objFile.FilePlayStart(); m_arrBufferMinMax[0] = GetDblProps(m_objFile, "file::network.buffer_min"); m_arrBufferMinMax[1] = GetDblProps(m_objFile, "file::network.buffer_max"); timerStat.Enabled = true; } catch (System.Exception ex) { MessageBox.Show(ex.ToString()); } if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\settings.json")) { string numberPorts = System.IO.File.ReadAllText(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + "\\settings.json"); textBox3.Text = numberPorts; } }
/// <summary> /// Initialization of Medialooks objects and form controls /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Load(object sender, EventArgs e) { try { this.Text += " - MPlatform SDK " + CheckVersionClass.GetVersion(); } catch { } try { //Initialize objects m_objMixer = new MMixerClass(); m_objRenderer = new MRendererClass(); m_objMixerInternal = new MMixerClass(); m_objrenderIN = new MRendererClass(); m_objLive = new MLiveClass(); } catch (Exception ex) { MessageBox.Show("Can't create MPlatform objects: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); return; } //Initialize preview m_objMixer.PreviewWindowSet("", panelPreview.Handle.ToInt32()); m_objMixer.PreviewEnable("", checkBoxAudio.Checked ? 1 : 0, checkBoxVideo.Checked ? 1 : 0); //Start mixer object m_objMixer.ObjectStart(null); m_objMixer.FilePlayStart(); //Look for renderers int nDevices = 0; m_objRenderer.DeviceGetCount(0, "renderer", out nDevices); if (nDevices > 0) { checkBoxOutput.Enabled = true; comboBoxRenderer.Enabled = true; for (int i = 0; i < nDevices; i++) { string strName; string strXML; m_objRenderer.DeviceGetByIndex(0, "renderer", i, out strName, out strXML); comboBoxRenderer.Items.Add(strName); } comboBoxRenderer.SelectedIndex = 0; } else { checkBoxOutput.Enabled = false; comboBoxRenderer.Enabled = false; } //Fill audio and video formats FillVideoFormats(); FillAudioFormats(); comboBoxVF.SelectedIndex = startVideoFormat; comboBoxAF.SelectedIndex = startAudioFormat; //Fill scenen tree mElementsTree.SetControlledObject(m_objMixer); MElement rootNode; m_objMixer.ElementsGetByIndex(0, out rootNode); if (rootNode != null) { mElementsTree.SetSelectedElement(rootNode); } if (rootNode == null) { return; } System.Runtime.InteropServices.Marshal.ReleaseComObject(rootNode); GC.Collect(); }
/// <summary> /// Initialization of Medialooks objects and form controls /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Load(object sender, EventArgs e) { try { this.Text += " - MPlatform SDK " + CheckVersionClass.GetVersion(); } catch { } try { //Initialize objects m_objPlaylist = new MPlaylistClass(); //m_objFile = new MFileClass(); m_objRenderer = new MRendererClass(); } catch (Exception ex) { MessageBox.Show("Can't create MPlatform objects: " + ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); Application.Exit(); return; } //Loop playlist m_objPlaylist.PropsSet("loop", "true"); m_objPlaylist.PropsSet("object::on_frame.sync", "true"); m_objPlaylist.OnEvent += new IMEvents_OnEventEventHandler(m_objFile_OnEvent); m_objPlaylist.OnFrameSafe += M_objPlaylist_OnFrameSafe; //Initialize preview m_objPlaylist.PreviewWindowSet("", panelPreview.Handle.ToInt32()); m_objPlaylist.PreviewEnable("", checkBoxAudio.Checked ? 1 : 0, checkBoxVideo.Checked ? 1 : 0); //Start mFile object m_objPlaylist.ObjectStart(new object()); //Look for renderers int nDevices = 0; m_objRenderer.DeviceGetCount(0, "renderer", out nDevices); if (nDevices > 0) { checkBoxOutput.Enabled = true; comboBoxRenderer.Enabled = true; for (int i = 0; i < nDevices; i++) { string strName; string strXML; m_objRenderer.DeviceGetByIndex(0, "renderer", i, out strName, out strXML); comboBoxRenderer.Items.Add(strName); } comboBoxRenderer.SelectedIndex = 0; } else { checkBoxOutput.Enabled = false; comboBoxRenderer.Enabled = false; } //Fill audio and video formats FillVideoFormats(); FillAudioFormats(); comboBoxVF.SelectedIndex = startVideoFormat; comboBoxAF.SelectedIndex = startAudioFormat; //Start playlist m_objPlaylist.FilePlayStart(); }