BASS_DSHOW Video Library

Started by Ionut Cristea,

radio42

@Sharky08:
Let me know when your add-on is ready and a real bass plugin, so that I can add it to BASS.NET.
THX

Latch

#141
Quote from: Sharky08PS: I'll like to hear from you any ideas to be implemented in BASS_DSHOW


You got it....

1. Most importantly make it a true bass plugin so that videos can be opened and played with the same bass routines as all other audio files.  We're currently using BassVideo, and for every single call (open, play, pause, setposition, getposition, etc..) we have to compensate for video by making separate routines for every single function.  Basically concentrate on the making the audio work, and then simply add automatic routines to keep the video in synch (such as when tempo is changed).  Once you truly integrate the audio into Bass, you won't ever have to worry about making any additional audio functions as they're all included with bass and its long list of plugins.  The only bass effect that would affect the video would be changing the tempo because obviously you'd need to keep the video in synch).

2. Once it acts like a bass plugin, add other properties to enable 2 separate windows for video as most DJ/KJ apps need one on the main console and one on the secondary display for all to see

3.  For each video (1 and 2), we'd need these properties
   - VideoParentHandle  (can be the handle of a form or a control on a form)
   - DisplaySize (or have it autosize to its parent control)
   - Stretch (when true stretch to fill parent and when false have it keep the original proportions but still fill the parent rectangle and blackout the sides or top and bottom depending on the videos original aspect ratio)
   - VideoSynch (set to zero uses original synch.  setting to negative numbers places video behind audio and positive values set video to be ahead of the audio).  This is needed as some videos don't have the audio and video in perfect synch and allowing the end user to adjust this would be great.  If the value could be in seconds that would be perfect (use single or double values allowing fractions of a second).  No sense in making this property separate for each video as you'd want to do the same to both.  If you truly separate the video from the audio this should be pretty easy at that point.

Planning ahead, you should first map out all the properties and methods you're going to have in the final product and even if you haven't got them all working, and at least send them to radio42 so he can get routines for Bass.Net written.  That way, those of us in the .Net world can at least start playing with it as you're getting the bugs out of it.  Its important not to change the calling methods because everytime you do, he needs to rewrite the Bass.Net to work with it and it creates quite a headache for us who have to then wait for his update as well.  Once you get it working as a true bass plugin and add the properties I mentioned, it really shouldn't be an issue.

I'm sure people could list a hundred little nifty functions but these are the truly needed functions.  If you can get these few basic functions to work perfectly, you could start charging for licensing this plugin and we'd be more than happy to pay it!  AND all of us who were extremely let down by the BassVideo plugin would speak your praises for a long time to come :)  Make some money AND be our hero!  ....no pressure :)



SoundMike

Quote from: Sharky08Hi. 
I have fixed the bug when the ChannelFree function is called:
http://filezone.ro/public.php?action=viewfile&file_id=22171

Do you need to recompile and reissue demo.exe? I find that with the new BASS_DSHOW.dll, demo.exe crashes as soon as I start playing a video.

With my test program, recompiled and using the new BASS_DSHOW.dll, I still get crashes on closing a video after the 3rd or 4th video - although sometimes I can run several more videos before a crash occurs. btw, in these tests I always close the video before it ends as they would otherwise run for a couple of minutes or more. Regarding these crashes, a colleague of mine said "it sounds like a resource is being called after it has been closed". Is there a possibility that some playback or buffering callback in the dll is trying to use a resource after the resource has been closed?

Ionut Cristea

Quote@Sharky08:
Let me know when your add-on is ready and a real bass plugin, so that I can add it to BASS.NET.
THX


OK

Ionut Cristea

  Thanks,Latch. I will implement your ideas to BASS_DSHOW.

QuoteDo you need to recompile and reissue demo.exe? I find that with the new BASS_DSHOW.dll, demo.exe crashes as soon as I start playing a video.

With my test program, recompiled and using the new BASS_DSHOW.dll, I still get crashes on closing a video after the 3rd or 4th video - although sometimes I can run several more videos before a crash occurs. btw, in these tests I always close the video before it ends as they would otherwise run for a couple of minutes or more. Regarding these crashes, a colleague of mine said "it sounds like a resource is being called after it has been closed". Is there a possibility that some playback or buffering callback in the dll is trying to use a resource after the resource has been closed?

I've changed some functions so that demo gives errors. I will release new demos today.

Cheers, Sharky.

Chris2009

Ionut Cristea

Hi all. BASS_DSHOW X64 version is available. ;D

Erazer

Cool, but x32 working like a bass plugin is everything I need   ;D
Waht about this  ;)

frozzie

Great!
I'm also waiting for it.

TIA!

Erazer

It seems to me I read that somewhere...  ;D

Ionut Cristea

 ;D  Yes you did...but i have some problems...
I hope in a week finish it.

Cheers, Sharky.

SoundMike


Quote from: Sharky08I hope in a week finish it.

All I want for Christmas...

;D :-* ::) ;)

Ionut Cristea

  Until then:

New version released:
+New function for A/V sync in realtime ;D
+Some bugs fixed

Ionut Cristea

I've forgot to mention: syncs(position,end etc) can be implemented normally, like to a normal stream.

Cheers, Sharky.

transporter08

Nice work !

But i have 2 questions:
1) Is it possible to process the video stream data before it is sent to the output device (e.g. decrypt a crypted mpg) ?
2) is there a event or something like this which tells the application that video is finished ?

Thanks in advance.

radio42

@Sharky08:
please check your PM! THX.

Ionut Cristea

Quote@Sharky08:
please check your PM! THX.

I've sent to you a PM

Quote1) Is it possible to process the video stream data before it is sent to the output device (e.g. decrypt a crypted mpg) ?

Currently not.

Quote2) is there a event or something like this which tells the application that video is finished ?

You can use a sync(set it like a regular BASS stream)

xtremex_x

how to set video window display ratio ?
it would be nice to add a Fucntion and a Flag
like BASS_DSHOW_AUTOSIZE

Ionut Cristea

Quotehow to set video window display ratio ?
it would be nice to add a Fucntion and a Flag
like BASS_DSHOW_AUTOSIZE

I'll add a function that user can set display ratio.