Vmem broken in RC1

This is a special forum aimed at testing and reporting regressions that happens on VLC 1.0.0.

This IS just about REGRESSIONS AND TESTING, no feature requests or bug reporting for OLD issues.
Schnittlauch
New Cone
New Cone
Posts: 3
Joined: 16 May 2009 17:33

Vmem broken in RC1

Postby Schnittlauch » 16 May 2009 17:37

Hi
I've updatet my libVLC sdk from 0.9.9 to the RC1 Version and suddenly VMEM desn't work for me any more.
Is it broken, are there API changes or is my code simply wrong? :D

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37523
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: Vmem broken in RC1

Postby Jean-Baptiste Kempf » 16 May 2009 23:33

There are API changes and vmem still works, can you share your code?
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

Schnittlauch
New Cone
New Cone
Posts: 3
Joined: 16 May 2009 17:33

Re: Vmem broken in RC1

Postby Schnittlauch » 17 May 2009 02:52

Sure I can show you some important code parts.
But It's written in a language called BlitzMax and its a BASIC dialect.
This code works fine with libVLC 0.9.9

The parameters für the libVLC instance:

Code: Select all

Argument[0] = "-q" Argument[1] = "--plugin-path" Argument[2] = "plugins" Argument[3] = "--ignore-config" Argument[4] = "--vout" Argument[5] = "vmem" Argument[6] = "--vmem-chroma" Argument[7] = "RGBA32" Argument[8] = "--vmem-width" Argument[9] = String(Width) Argument[10] = "--vmem-height" Argument[11] = String(Height) Argument[12] = "--vmem-pitch" Argument[13] = String(Width*4) Argument[14] = "--vmem-lock" Argument[15] = String(Int(Byte Ptr(LockVideo))) Argument[16] = "--vmem-unlock" Argument[17] = String(Int(Byte Ptr(UnlockVideo))) Argument[18] = "--vmem-data" Argument[19] = String(Int(VarPtr(Index)))
And the Lock/Unlock functions:

Code: Select all

Function LockVideo:Byte ptr(Index:Int Ptr) Local Video:TVideo = TVideo(VideoObjects.ValueAtIndex(Index[0])) Return Video._Lock() End Function Function UnlockVideo(Index:Int Ptr) Local Video:TVideo = TVideo(VideoObjects.ValueAtIndex(Index[0])) Video._Unlock() End Function
The whole thing crashes when the LockVideo function is called the first time.

Rémi Denis-Courmont
Developer
Developer
Posts: 15266
Joined: 07 Jun 2004 16:01
VLC version: master
Operating System: Linux
Contact:

Re: Vmem broken in RC1

Postby Rémi Denis-Courmont » 17 May 2009 08:57

RGBA32? That should be either RGBA (R8G8B8A8) or RV32 (R8G8B8 + 8-bits padding).
Rémi Denis-Courmont
https://www.remlab.net/
Private messages soliciting support will be systematically discarded

Schnittlauch
New Cone
New Cone
Posts: 3
Joined: 16 May 2009 17:33

Re: Vmem broken in RC1

Postby Schnittlauch » 17 May 2009 16:41

Okay, I've tryed this. But it still crashes.

I've found out, when I build the Lock function like this,

Code: Select all

void LockVideo(void* Data, void* PixelData)
sometimes it plays a few frames an then it chrashes, or
the crash happens direct after the startup before playing anything.

Windows says the crash appears in "setupapi.dll" and sometimes in "libswscale_plugin.dll".

Update:
I've tryed to play a Video with the VLC Instance Parameters:

Code: Select all

"-q" "--plugin-path" "plugins" "--ignore-config"
And exactly the same happens.
But the video I'am testing with works perfectly in die VLC Player RC1.
And.. my explorer appears to be in an endless loop after a few testings.. :D

Update2:
Okay, problem is solved.
For some reasons it doesn't like when I set the plugin-path.
If I let them away, evrything works fine.


Return to “VLC 1.0.0 testing”

Who is online

Users browsing this forum: No registered users and 0 guests