Пример #1
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPlaylistPub = new MPlaylistClass();
            m_objPlaylistPub.PreviewWindowSet("", panelPub.Handle.ToInt32());
            m_objPlaylistPub.PreviewEnable("", 0, 1);

            m_objPlaylistRec = new MPlaylistClass();
            m_objPlaylistRec.PreviewWindowSet("", panelRec.Handle.ToInt32());
            m_objPlaylistRec.PreviewEnable("", 0, 1);

            int index = -1;

            m_objPlaylistPub.PlaylistAdd(null, @"\\MLDiskStation\MLFiles\MediaTest\MP4\!1080p 60fpsOri and the Will of the Wisps.mp4", "", ref index, out MItem item);
            m_objPlaylistPub.FilePlayStart();


            Thread.Sleep(100);

            MSendersClass senderMP = new MSendersClass();
            int           count;

            senderMP.SendersGetCount(out count);

            for (int i = 0; i < count; i++)
            {
                senderMP.SendersGetByIndex(i, out string name, out M_VID_PROPS propsV, out M_AUD_PROPS propsA);
                senders_lsb.Items.Add(name);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        public override MPlaylistClass Create(MPlaylistSettings settings)
        {
            var mplaylist = new MPlaylistClass();

            MPlaylistInitializer.Initialize(mplaylist, settings);
            return(mplaylist);
        }
Пример #4
0
        private static void SetVideoFormat(MPlaylistClass mplaylist, string formatName)
        {
            int count = 0;

            mplaylist.FormatVideoGetCount(eMFormatType.eMFT_Convert, out count);
            int index = -1;

            MPLATFORMLib.M_VID_PROPS vidProps = new MPLATFORMLib.M_VID_PROPS();
            string name;

            for (int i = 0; i < count; i++)
            {
                mplaylist.FormatVideoGetByIndex(eMFormatType.eMFT_Convert, i, out vidProps, out name);
                if (string.Equals(name, formatName, StringComparison.OrdinalIgnoreCase))
                {
                    index = i;
                    break;
                }
            }

            if (index >= 0)
            {
                mplaylist.FormatVideoSet(eMFormatType.eMFT_Convert, ref vidProps);
            }
        }
Пример #5
0
 private static void SetProperties(MPlaylistClass mplaylist)
 {
     mplaylist.PropsSet("loop", "false");
     //mplaylist.PropsSet("playlist.on_next", "pause_out"/*"stop"*/);
     mplaylist.PropsSet("playlist.on_next", "stop");
     mplaylist.PropsSet("background_rewind ", "true");
 }
Пример #6
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objMPlaylist = new MPlaylistClass();

            m_objMPlaylist.PreviewWindowSet("", panelPreview.Handle.ToInt64());
            m_objMPlaylist.PreviewEnable("", 1, 1);
        }
Пример #7
0
 private void Form1_Load(object sender, EventArgs e)
 {
     m_objPlaylist = new MPlaylistClass();
     m_objWriter   = new MWriterClass();
     m_objFile     = new MFileClass();
     m_objFile.PreviewWindowSet("", panelPrev.Handle.ToInt32());
     m_objFile.PreviewEnable("", 0, 1);
 }
Пример #8
0
        void InitObj()
        {
            MPlaylist = new MPlaylistClass();
            MWriter   = new MWriterClass();

            MPlaylist.OnEventSafe += MPlaylist_OnEventSafe;
            MPlaylist.PreviewWindowSet("", panel1.Handle.ToInt32());
            MPlaylist.PreviewEnable("", 0, 1);
        }
Пример #9
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objWriter   = new MWriterClass();
            m_objLive     = new MLiveClass();
            m_objFile     = new MFileClass();
            m_objPlaylist = new MPlaylistClass();

            m_objPlaylist.PreviewWindowSet("", panelPlaylist.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 0, 1);

            m_objFile.PreviewWindowSet("", panelFile.Handle.ToInt32());
            m_objFile.PreviewEnable("", 0, 1);

            m_objLive.PreviewWindowSet("", livePanel.Handle.ToInt32());
            m_objLive.PreviewEnable("", 0, 1);

            m_objLive.OnFrameSafe     += M_objLive_OnFrameSafe;
            m_objFile.OnEventSafe     += M_objFile_OnEventSafe;
            m_objPlaylist.OnFrameSafe += M_objPlaylist_OnFrameSafe;

            m_objWriter.PropsSet("embed_scte35", "true");
            m_objFile.PropsSet("object::on_event.sync", "true");
            m_objPlaylist.PropsSet("object::on_frame.sync", "true");
            m_objLive.PropsSet("object::on_event.sync", "true");

            int count = 0;

            m_objLive.DeviceGetCount(0, "video", out count);

            string[] arr = new string[count];

            string name;
            string xml;

            for (int i = 0; i < count; i++)
            {
                m_objLive.DeviceGetByIndex(0, "video", i, out name, out xml);
                arr[i] = name;
            }

            m_objLive.DeviceSet("video", arr[5], "");

            m_objLive.ObjectStart(null);

            MItem item;

            //m_objPlaylist.PlaylistBackgroundSet(m_objLive, "live", "live", out item);

            //m_objPlaylist.FilePlayStart();

            m_objWriter.WriterNameSet(streamPath_txb.Text, " format='mpegts' protocol='udp://' video::codec='mpeg2video' video::b='5M' audio::codec='mp2'");

            m_objWriter.ObjectStart(m_objLive);
        }
Пример #10
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objMPLaylist = new MPlaylistClass();
            m_objMPLaylist.PreviewWindowSet("", panelPR.Handle.ToInt32());
            m_objMPLaylist.PreviewEnable("", 0, 1);

            m_objMWriter = new MWriterClass();

            ConfigPlaylist();
            ConfigWriter();
        }
Пример #11
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objMPlaylist = new MPlaylistClass();
            m_objMFile     = new MFileClass();

            m_objMPlaylist.PreviewWindowSet("", PlaylistPrev.Handle.ToInt32());
            m_objMPlaylist.PreviewEnable("", 1, 1);

            m_objMFile.PreviewWindowSet("", FilePrev.Handle.ToInt32());
            m_objMFile.PreviewEnable("", 1, 1);
        }
Пример #12
0
        private static void SetBackground(MPlaylistClass mplaylist)
        {
            System.IO.FileInfo fi = new System.IO.FileInfo("PalBars.mpg");
            if (fi.Exists)
            {
                MItem mItem = null;
                mplaylist.PlaylistBackgroundSet(null, fi.FullName, "", out mItem);

                //mItem.FilePlayStart();
                Marshal.ReleaseComObject(mItem);
            }
        }
Пример #13
0
        public void Open(IPlayableItem playableItem)
        {
            this.Close();

            if (_mplaylist == null)
            {
                _mplaylist = new MPlaylistClass();
                if (_mplaylistSettings.VideoFormat != null)
                {
                    SetVideoFormat(_mplaylist, _mplaylistSettings.VideoFormat);
                }

                if (_mplaylistSettings.AudioFormat != null)
                {
                    SetAudioFormat(_mplaylist, _mplaylistSettings.AudioFormat);
                }
                _mplaylist.PropsSet("loop", "true");
                _mplaylist.OnEvent += MFile_OnEvent;

                _cgManager = new CGManager(_mplaylist);
                //_mplaylist.FileRateSet(_rate);
            }

            //_fileName = fileName;
            _playableItem = playableItem;
            //_fileName = _playableItem.FilePath;
            int index = -1;

            _mplaylist.PlaylistAdd(null, _playableItem.FilePath, "", ref index, out _mitem);
            _mplaylist.ObjectStart(null);

            _mplaylist.FileRateSet(_rate);

            SetAudioGain((MItemClass)_mitem, _playableItem.AudioGain);


            double dblIn = 0.0, dblOut = 0.0, dblDuration = 0.0;

            _mplaylist.FileInOutGet(out dblIn, out dblOut, out dblDuration);

            //_mitem.FileInOutGet(out dblIn, out dblOut, out dblDuration);

            this.Duration = dblDuration;

            string name = null;

            _mplaylist.ObjectNameGet(out name);
            this.Name = name;

            this.Status = PreviewPlayerStatus.Stopped;

            OnOpened();
        }
Пример #14
0
            public void Open(string fileName)
            {
                this.Close();

                if (_mplaylist == null)
                {
                    _mplaylist = new MPlaylistClass();
                    if (_mplaylistSettings.VideoFormat != null)
                    {
                        SetVideoFormat(_mplaylist, _mplaylistSettings.VideoFormat);
                    }

                    if (_mplaylistSettings.AudioFormat != null)
                    {
                        SetAudioFormat(_mplaylist, _mplaylistSettings.AudioFormat);
                    }
                    _mplaylist.PropsSet("loop", "true");
                    _mplaylist.OnEvent += MFile_OnEvent;
                }

                //if (_mitem != null)
                //{
                //    _mplaylist.FilePlayStop(0.0);

                //    _mplaylist.PlaylistRemove(_mitem);
                //    Marshal.ReleaseComObject(_mitem);  // ?
                //    _mitem = null;
                //}

                _fileName = fileName;
                int index = -1;

                _mplaylist.PlaylistAdd(null, _fileName, "", ref index, out _mitem);
                _mplaylist.ObjectStart(null);


                double dblIn = 0.0, dblOut = 0.0, dblDuration = 0.0;

                _mplaylist.FileInOutGet(out dblIn, out dblOut, out dblDuration);

                //_mitem.FileInOutGet(out dblIn, out dblOut, out dblDuration);

                this.Duration = dblDuration;

                string name = null;

                _mplaylist.ObjectNameGet(out name);
                this.Name = name;

                this.Status = PlayerStatus.Stopped;

                OnOpened();
            }
Пример #15
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objWriter   = new MWriterClass();
            m_objPlaylist = new MPlaylistClass();
            m_objFile     = new MFileClass();
            m_objFile.PreviewWindowSet("", panelPreview_pnl.Handle.ToInt32());
            m_objFile.PreviewEnable("", 1, 1);


            int    a = -60 * (6 - -100);
            string b = "";
        }
Пример #16
0
        public void Dispose()
        {
            if (_mplaylist != null)
            {
                if (this.Status != PreviewPlayerStatus.Closed)
                {
                    this.Close();
                }

                Marshal.ReleaseComObject(_mplaylist);
                _mplaylist = null;
            }
        }
Пример #17
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objMPLaylistSource     = new MPlaylistClass();
            m_objMPLaylistRecordFile = new MPlaylistClass();

            m_objMPLaylistSource.PreviewWindowSet("", panelPrSource.Handle.ToInt32());
            m_objMPLaylistSource.PreviewEnable("", 0, 1);

            m_objMPLaylistRecordFile.PreviewWindowSet("", panelPrRecordFile.Handle.ToInt32());
            m_objMPLaylistRecordFile.PreviewEnable("", 0, 1);

            m_objWriter = new MWriterClass();
        }
Пример #18
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPlaylist = new MPlaylistClass();

            m_objPlaylist.PreviewWindowSet("", panel1.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 0, 1);

            int   index = -1;
            MItem item;

            m_objPlaylist.PlaylistAdd(null, @"M:\MEDIA_TEST\!LG Jazz 1080-30p.mp4", "", ref index, out item);

            m_objPlaylist.FilePlayStart();
        }
Пример #19
0
        private static void SetVideoFormat(MPlaylistClass mplaylist, string formatName)
        {
            int count = 0;

            mplaylist.FormatVideoGetCount(eMFormatType.eMFT_Convert, out count);
            int index = -1;

            MPLATFORMLib.M_VID_PROPS vidProps = new MPLATFORMLib.M_VID_PROPS();
            string name;

            for (int i = 0; i < count; i++)
            {
                mplaylist.FormatVideoGetByIndex(eMFormatType.eMFT_Convert, i, out vidProps, out name);
                if (string.Equals(name, formatName, StringComparison.OrdinalIgnoreCase))
                {
                    index = i;
                    break;
                }
            }

            if (index >= 0)
            {
                mplaylist.FormatVideoSet(eMFormatType.eMFT_Convert, ref vidProps);
            }

            //MPLATFORMLib.M_VID_PROPS m_VID_PROPS = default(MPLATFORMLib.M_VID_PROPS);

            //m_VID_PROPS.dblRate = info.FPS;
            //m_VID_PROPS.e3DFormat = MPLATFORMLib.eM3DFormat.eM3D_None;
            //m_VID_PROPS.eVideoFormat = info.VideoFormat; // info.VideoFormat.GetMPVideoFormat();
            //m_VID_PROPS.eScaleType = EnumUtils.ToMPScaleType(info.StretchMode);

            ////this._logger.AddLog(ENUM_LogType.INFO, "Video format: " + info.VideoFormat.ToString());
            ////this._logger.AddLog(ENUM_LogType.INFO, "ML Video format: " + m_VID_PROPS.eVideoFormat.ToString());

            //if (info.ExternalKeyMode)
            //{
            //    m_VID_PROPS.fccType = MPLATFORMLib.eMFCC.eMFCC_ARGB32;
            //}

            //if (/*info.VideoFormat.DisplayMode == ENUM_VIDEO_DISPLAY_MODE.PROGRESSIVE*/info.Progressive)
            //{
            //    m_VID_PROPS.eInterlace = MPLATFORMLib.eMInterlace.eMI_Progressive;
            //}
            //else
            //{
            //    m_VID_PROPS.eInterlace = MPLATFORMLib.eMInterlace.eMI_Default;
            //}
            //mplaylist.FormatVideoSet(eMFormatType.eMFT_Convert, ref m_VID_PROPS);
        }
Пример #20
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPlaylist = new MPlaylistClass();
            m_objMixer    = new MMixerClass();

            m_objPlaylist.PreviewWindowSet("", panelPr.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 1, 1);


            int   nIndex = -1;
            MItem pFile;

            m_objPlaylist.PlaylistAdd(null, @"M:\MEDIA_TEST\!PATAGONIA 1080p.mp4", "", ref nIndex, out pFile);
            m_objPlaylist.FilePlayStart();
        }
Пример #21
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objFile1 = new MFileClass();
            m_objFile2 = new MFileClass();

            HTML5Plugin1 = new MFOverlayHTMLClass();
            HTML5Plugin2 = new MFOverlayHTMLClass();

            m_objPlaylist = new MPlaylistClass();

            m_objPlaylist.PreviewWindowSet("", panelPr.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 1, 1);

            SetMFile();
        }
Пример #22
0
        private void Form1_Load(object sender, EventArgs e)
        {
            mcc = new MCCDisplay();

            m_objPlaylist = new MPlaylistClass();
            m_objPlaylist.PreviewWindowSet("", panelPrev.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 0, 1);

            m_objPlaylist.PropsSet("object::on_frame.sync", "true");
            m_objPlaylist.PropsSet("object::on_frame.data", "true");

            m_objPlaylist.OnEventSafe += M_objPlaylist_OnEventSafe;
            m_objPlaylist.OnFrameSafe += M_objPlaylist_OnFrameSafe;

            m_objPlaylist.PluginsAdd(mcc, 0);
        }
Пример #23
0
        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;
        }
Пример #24
0
        private void FormatWindow_Loaded(object sender, RoutedEventArgs e)
        {
            _mplaylist = new MPlaylistClass();
            this.videoFormatComboBox.MFormatObject = _mplaylist;
            this.audioFormatComboBox.MFormatObject = _mplaylist;
            if (!string.IsNullOrEmpty(_mplaylistSettings.VideoFormat))
            {
                //this.videoFormatComboBox.SelectedFormat = _videoFormat;
                this.videoFormatComboBox.SelectedItem = _mplaylistSettings.VideoFormat;
            }

            if (!string.IsNullOrEmpty(_mplaylistSettings.AudioFormat))
            {
                //this.audioFormatComboBox.SelectedFormat = _audioFormat;
                this.audioFormatComboBox.SelectedItem = _mplaylistSettings.AudioFormat;
            }
        }
Пример #25
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objPlaylist = new MPlaylistClass();
            m_objWriter   = new MWriterClass();

            m_objPlaylist.PreviewWindowSet("", panel1.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 1, 1);


            //m_objPlaylist.PropsSet("loop", "false");
            //m_objPlaylist.PropsSet("active_frc", "false");
            //m_objPlaylist.PropsSet("preview.drop_frames", "true");
            int   index = -1;
            MItem item;

            //m_objPlaylist.PlaylistAdd(null, @"M:\MEDIA_TEST\A QUALCUNO PIACE CALDO.mkv", "external_process=false", ref index, out item);
            m_objPlaylist.PlaylistAdd(null, @"M:\MEDIA_TEST\A QUALCUNO PIACE CALDO.mkv", "", ref index, out item);
        }
Пример #26
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objMFile    = new MFileClass();
            m_objPlaylist = new MPlaylistClass();

            m_objMFile.PreviewWindowSet("", panelPr.Handle.ToInt32());
            m_objMFile.PreviewEnable("", 0, 1);

            m_objMFile.FileNameSet(@"\\192.168.0.100\MLFiles\Trash\Roman\WorkFiles\FilesFromCostumer\2019.03.06Etere31735\MEM001M-20190306Z143546.mp4", "loop=true");

            m_objMFile.FilePlayStart();

            m_objPlaylist.PreviewWindowSet("", panelPrPl.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 0, 1);

            int index = -1;

            m_objPlaylist.PlaylistAdd(null, @"\\192.168.0.100\MLFiles\Trash\Roman\WorkFiles\FilesFromCostumer\2019.03.06Etere31735\MEM001M-20190306Z143546.mp4", "loop=true", index, out item);
            m_objPlaylist.FilePlayStart();
        }
Пример #27
0
        private void OpenFileMPlaylist_btn_Click(object sender, EventArgs e)
        {
            MarshalAll();
            m_objMPlaylist = new MPlaylistClass();
            if (openFileDialog1.ShowDialog() == DialogResult.OK && openFileDialog1.FileNames.Length != 0)
            {
                filePath = openFileDialog1.FileNames[0].ToString();
                int index = -1;
                startTime = DateTime.Now;
                m_objMPlaylist.PlaylistAdd(null, filePath, addParams.Text, ref index, out MItem MItem);
                endTime = DateTime.Now;
                CalcTimeSpan();
                SendMes("MPlaylist takes: " + duration.TotalMilliseconds.ToString() + " TotalMilliseconds");
                SendMes("With this Params : " + addParams.Text);
                Marshal.ReleaseComObject(MItem);

                ReInitPr("MPlaylist");
                m_objMPlaylist.FilePlayStart();
            }
        }
Пример #28
0
        private void OpenFile_btn_Click(object sender, EventArgs e)
        {
            m_objPlaylist = new MPlaylistClass();

            m_objPlaylist.OnFrameSafe += M_objPlaylist_OnFrameSafe;

            m_objPlaylist.PreviewWindowSet("", panelPrev.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 0, 1);


            if (openFileDialog1.ShowDialog() == DialogResult.OK && openFileDialog1.FileNames.Length != 0)
            {
                int   index = -1;
                MItem item;

                string name = openFileDialog1.FileNames[0].ToString();
                m_objPlaylist.PlaylistAdd(null, name, "", ref index, out item);
            }
            m_objPlaylist.FilePlayStart();
        }
Пример #29
0
        private void Form1_Load(object sender, EventArgs e)
        {
            m_objFile     = new MFileClass();
            m_objPlaylist = new MPlaylistClass();

            m_objFile.PreviewWindowSet("", panelPrFile.Handle.ToInt32());
            m_objFile.PreviewEnable("", 1, 1);

            m_objPlaylist.PreviewWindowSet("", panelPrPlaylist.Handle.ToInt32());
            m_objPlaylist.PreviewEnable("", 1, 1);



            int index = -1;


            m_objPlaylist.PlaylistAdd(null, path, "", ref index, out item);
            m_objPlaylist.FilePlayStart();

            m_objFile.FileNameSet(path, "");
            m_objFile.FilePlayStart();
        }
Пример #30
0
        public void Stop()
        {
            if (_mplaylist != null)
            {
                if (_nextItem != null)
                {
                    throw new InvalidOperationException();
                }

                if (_currentItem != null)
                {
                    //if (IsMLSource(_currentItem.MediaSource))
                    //{
                    //    M_StopCurrent();
                    //}

                    OnCurrentItemStopped();
                }

                if (_rendererManager != null)
                {
                    _rendererManager.DetachVideoDevice();
                    _rendererManager.Dispose();
                    _rendererManager = null;
                }

                _preview.MObject = null;
                //_preview.SetPreviewUri(null);
                //GlobalEventAggregator.Instance.RaiseMPlaylistDestroying();

                _cgManager.Dispose();
                _cgManager = null;

                _mplaylist.ObjectClose();
                _mplaylist.OnEvent -= MPlaylist_OnEvent;
                Marshal.ReleaseComObject(_mplaylist);
                _mplaylist = null;
            }
        }