Esempio n. 1
0
        /// <summary>
        /// Erstellt eine vollständige Kopie der DirectShow Instanz. Dies
        /// schließt alls Substrukturen mit ein.
        /// <seealso cref="GetReference(RawMediaType)"/>
        /// </summary>
        /// <returns>Die Speicheradress der kopierten Instanz.</returns>
        public IntPtr CreateCopy()
        {
            // None
            if (!m_HasMediaType)
            {
                return(IntPtr.Zero);
            }

            // Copy
            var mediaType = new RawMediaType();

            // Full copy
            m_MediaType.CopyTo(ref mediaType);

            // Report
            return(GetReference(mediaType));
        }
Esempio n. 2
0
 /// <summary>
 /// Kopiert oder verwendet eine DirectShow Strukturinstanz.
 /// </summary>
 /// <param name="mediaType">Die DirectShow Instanz.</param>
 /// <param name="copy">Ist dieser Parameter gesetzt, so wird
 /// eine eigenständige Kopie erstellt. Ansonsten wird die
 /// DirectShow Instanz samt der damit verbundenen Speicherstrukturen
 /// übernommen. Insbesondere darf es keinen Aufruf von
 /// <see cref="Interfaces.MediaType.FreeMemory"/> auf dem ersten Parameter
 /// mehr geben.</param>
 public MediaType( RawMediaType mediaType, bool copy )
 {
     // Check mode
     if (copy)
     {
         // Make sure that secondary memory is duplicated
         mediaType.CopyTo( ref m_MediaType );
     }
     else
     {
         // Hold this
         m_MediaType = mediaType;
     }
 }
Esempio n. 3
0
 /// <summary>
 /// Kopiert oder verwendet eine DirectShow Strukturinstanz.
 /// </summary>
 /// <param name="mediaType">Die DirectShow Instanz.</param>
 /// <param name="copy">Ist dieser Parameter gesetzt, so wird
 /// eine eigenständige Kopie erstellt. Ansonsten wird die
 /// DirectShow Instanz samt der damit verbundenen Speicherstrukturen
 /// übernommen. Insbesondere darf es keinen Aufruf von
 /// <see cref="Interfaces.MediaType.FreeMemory"/> auf dem ersten Parameter
 /// mehr geben.</param>
 public MediaType(RawMediaType mediaType, bool copy)
 {
     // Check mode
     if (copy)
     {
         // Make sure that secondary memory is duplicated
         mediaType.CopyTo(ref m_MediaType);
     }
     else
     {
         // Hold this
         m_MediaType = mediaType;
     }
 }