Difference between revisions of "Talk:Main Page"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 18: Line 18:
  
 
-- Need to brush up the EN entries on the main page. How do I do that? PRedditt
 
-- Need to brush up the EN entries on the main page. How do I do that? PRedditt
 +
[[http://www.tiffany-net.com]]
  
 
== ".Net Interface to VLC" marshals strings falsely ==
 
== ".Net Interface to VLC" marshals strings falsely ==

Revision as of 12:36, 5 June 2010

Ticket #156 (closed defect: fixed) Is restarting VLC the fix

[1] Is this fixed or is restarting VLC the fix? I am sending HD streams and after about 1 hour to 2 hours the CPU begins to spike at specific intervals corrupting the multicast stream that I am sending. I have to stop and restart VLC 0.8.5 to recover. [[2]] "VLC on VTHR leaks memory (see videolan@vthr:prod/vlc.sh) while doing intensive TS/UDP multicast streaming input/output. Replica Rolex Watches A restart is needed after some time. "

Hmmm... I don't know, try both or something. The thing 02:06, 19 September 2006 (CEST)

Link to Developer's Site is broken

Please replace the current link to the developer's site (located in the to right corner) with this one http://wiki.videolan.org/Developers_Corner.

Cheers, --Materthron 14:59, 19 December 2007 (CET)

done.

-- Need to brush up the EN entries on the main page. How do I do that? PRedditt [[3]]

".Net Interface to VLC" marshals strings falsely

".Net Interface to VLC" marshals strings falsely. For ex,playlist_AddExt, can not add a file to playlist if the path/filename contains a non-english char such as ğ,ü,ş,i,ö,ç etc. More correct approach can be like below:


NativeLibVlc.cs


static extern VlcError playlist_AddExt(
             IntPtr p_playlist, 
             [MarshalAs(UnmanagedType.CustomMarshaler,MarshalTypeRef=typeof(UTF8Marshaler))] String mrl, 
             [MarshalAs(UnmanagedType.CustomMarshaler,MarshalTypeRef=typeof(UTF8Marshaler))] String mrlDuplicate, 
             Mode mode,
             Int32 pos, 
             Int64 mtime_t, 
             [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(UTF8Marshaler))] string[] Options,
	     int OptionsCount
);


   class UTF8Marshaler : ICustomMarshaler
   {
       static UTF8Marshaler _MyCustomMarshaler = null;
       public static ICustomMarshaler GetInstance(string Cookie)
       {
           if (_MyCustomMarshaler == null)
           {
               _MyCustomMarshaler = new UTF8Marshaler();
           }
           return _MyCustomMarshaler;
       }
       public void CleanUpManagedData(object ManagedObj)
       {
       }
       public void CleanUpNativeData(IntPtr pNativeData)
       {
       }
       public int GetNativeDataSize()
       {
           return -1;
       }
       public IntPtr MarshalManagedToNative(object ManagedObj)
       {
           if (ManagedObj is string)
           {
               unsafe
               {
                   byte[] buf = System.Text.Encoding.GetEncoding("UTF-8").GetBytes((string)ManagedObj);
                   fixed (void* ptr = &buf[0])
                   {
                       return new IntPtr(ptr);
                   }
               }
           }
           if (ManagedObj is string[]){
               unsafe
               {
                   string[] array = (string[])ManagedObj;
                   IntPtr[] buf = new IntPtr[array.Length];
                   for (int i = 0; i < buf.Length; i++)
                   {
                       byte[] b = System.Text.Encoding.GetEncoding("UTF-8").GetBytes(array[i]);
                       fixed(void *p=&b[0]){
                           buf[i] = (IntPtr)p;
                       }
                   }
                   fixed (void* ptr = &buf[0])
                   {
                       return new IntPtr(ptr);
                   }
               }
           }
           throw new Exception("UTF8Marshaler can only be used for \"string\" or \"string[]\". ");
       }
       public object MarshalNativeToManaged(IntPtr pNativeData)
       {
           return null;
       }
   }

Wrong vlcInstallDirectory

If a .Net program using VLanControl is started from a network share like "\\server\share\program.exe", "vlcInstallDirectory" is calculated falsely.

A solution can be like below:

static NativeLibVlc()
{
    
    /* - */ //NativeLibVlc.vlcInstallDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase).Substring(6);
    /* + */ NativeLibVlc.vlcInstallDirectory = Application.StartupPath;
}

Correct English?

Perhaps someone would like to have a look over this and correct the English where needed? An immediate example being that, unlike with subversion, 'check out' is two words, not one. Just may be slightly clearer if the English is tidied up and would perhaps persuade more people to edit the wiki? Just a suggestion :D Tek 12:29, 18 May 2009 (UTC) Wholesale NFL Jerseys Replica Rolex Watches

Panel disappeared in Full Screen

Initially when i installed VLC, the panel was being displayed at the bottom in Full Screen mode. Once, i clicked the running time in the panel to see the remaining time of the movie. Immediately after that the panel disappeared. Later, i can't get the panel in Full Screen mode. [Baltimore Ravens jerseys]