Example #1
0
        private libvlc_video_track_t?GetVideoTrack()
        {
            libvlc_video_track_t?vtrack = null;
            IntPtr p;
            int    tracks = LibVLCWrapper.libvlc_media_tracks_get(_media, out p);

            _tracks         = tracks;
            _tracktorelease = p;

            for (int i = 0; i < tracks; i++)
            {
                IntPtr mtrackptr            = Marshal.ReadIntPtr(p, i * IntPtr.Size);
                libvlc_media_track_t mtrack = Marshal.PtrToStructure <libvlc_media_track_t>(mtrackptr);
                if (mtrack.i_type == libvlc_track_type_t.libvlc_track_video)
                {
                    vtrack = Marshal.PtrToStructure <libvlc_video_track_t>(mtrack.media);
                }
            }

            return(vtrack);
        }