21 May '13 - 11:22 *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
 
   Home   Help Search Login Register  
Pages: 1 ... 58 59 [60] 61 62 ... 135
  Reply  |  Print  
Author Topic: BASS_DSHOW Video Library  (Read 271310 times)
SoundMike
Posts: 252


« Reply #1180 on: 16 Oct '10 - 03:26 »
Reply with quoteQuote

   Hello,
 I think is time that BASS_DSHOW 2.4.2 release.
 
Note: The package contains C++,Delphi,VB headers and examples. Also, the VB headers are not updated with the latest BASS_DSHOW 2.4.2, so if someone could actualize it will be great. Thanks.    

  Download : http://surodev.com/downloads/BASS_DSHOW2.4.2.zip

Documentation? I haven't downloaded BASS_DSHOW for several months and now when I do there's no Help file or similar documentation Sad
Logged
Ionut Cristea
Posts: 1374


« Reply #1181 on: 16 Oct '10 - 06:20 »
Reply with quoteQuote

  Hello,

 Documentation of new BASS_DSHOW 2.4.2 is not finished, but if you want it here is:
http://surodev.com/downloads/BASS_DSHOW.chm
Logged
quickmic
Posts: 248


« Reply #1182 on: 16 Oct '10 - 10:09 »
Reply with quoteQuote

Hi

2.4.2 has problems with BASS_StreamFree on a decoded channel. It crashes the complete IDE (VB6). 2.4.1.18 doesn't had this problem.

Call BASS_ChannelSetSync(.StreamDecode, BASS_SYNC_END, 0, 0, AddressOf TrackEnd, PlayerID)
...doesnt work for videos (callback at the end of a track)
I think, this worked some versions ago

BASS_DSHOW_StreamCreateDVD also doesn't work for me. Maybe I use it in the wrong way. Can anybody check DVD in VB6?

thx
Logged
Ionut Cristea
Posts: 1374


« Reply #1183 on: 16 Oct '10 - 10:27 »
Reply with quoteQuote

Quote
Hi

2.4.2 has problems with BASS_StreamFree on a decoded channel. It crashes the complete IDE (VB6). 2.4.1.18 doesn't had this problem.

Call BASS_ChannelSetSync(.StreamDecode, BASS_SYNC_END, 0, 0, AddressOf TrackEnd, PlayerID)
...doesnt work for videos (callback at the end of a track)
I think, this worked some versions ago

BASS_DSHOW_StreamCreateDVD also doesn't work for me. Maybe I use it in the wrong way. Can anybody check DVD in VB6?

thx

  Did you update the VB header to the latest BASS_DSHOW ? Remember that when i release 2.4.2 i told that VB headers/examples are not updated
Logged
quickmic
Posts: 248


« Reply #1184 on: 16 Oct '10 - 10:45 »
Reply with quoteQuote

I'm not sure what you mean with "header". You mean the APIs?
I use DShow as base-plugin, so I almost don't use the special DShow APIs.
Logged
quickmic
Posts: 248


« Reply #1185 on: 17 Oct '10 - 09:51 »
Reply with quoteQuote

Ok, DVD is basically running in VB, but I cannot load the IFO-files for now.

API:
Public Declare Function BASS_DSHOW_StreamCreateDVD Lib "BassDSHOW.dll" (ByVal file As Long, ByVal Flags As Long) As Long

What doeas "file" need? I tried the path to the "VIDEO_TS.IFO" file as pointer (strptr). Also I tried converting the path in unicode but had no success.
It will always been played the DVD-Rom, not the stored DVD on HDD.

The other problems still exists.
BASS_StreamFree crashes the IDE. Normally I use this to terminate the stream:

Call BASS_DSHOW_ChannelSetWindow(.StreamDecode, 0)
Call BASS_StreamFree(.Stream)
Call BASS_StreamFree(.StreamDecode)

.Stream is the Bass-Mixer-Stream (not DShow Mixer!).
.StreamDecode is the decoded stream.

If I don't terminate "Call BASS_StreamFree(.StreamDecode)" it will work, but the Video-Window is not closed.
Logged
Ionut Cristea
Posts: 1374


« Reply #1186 on: 18 Oct '10 - 16:58 »
Reply with quoteQuote

  Please try with this latest:
http://surodev.com/downloads/BASS_DSHOW.dll

  About loading ifo files...i will release a fix tommorow.

  Thanks,
  Ionut Cristea.
Logged
quickmic
Posts: 248


« Reply #1187 on: 18 Oct '10 - 17:15 »
Reply with quoteQuote

Sorry to tell, but there is no difference.

BASS_StreamFree on a decoded channel still crashes.
Call BASS_ChannelSetSync(.StreamDecode, BASS_SYNC_END, 0, 0, AddressOf TrackEnd, PlayerID) doasn't work

For DVD I have a small feature request...
First, the Mouse-Clicks on the DVD-Menu are not correct. I have to click a littlebit upper/left to the menu-entry to click correct. So imho the mouse-position is not ok.
Second, I want to send the click-events manually to DShow. So can you make a option to turn off the click events for DVD-menu and make a API, that I can send the X/Y mouseposition over that API? Also I need a return-value (0/1) if the sended X/Y is a valid-menu-click for DVD?
... Cause: I use the click on video-window for making fullsize screen, execpt it is a vaild DVD-menu-click.

thx


Logged
Alpha_
Posts: 70


« Reply #1188 on: 18 Oct '10 - 20:46 »
Reply with quoteQuote

  Hello,
 I think is time that BASS_DSHOW 2.4.2 release.
 
Note: The package contains C++,Delphi,VB headers and examples. Also, the VB headers are not updated with the latest BASS_DSHOW 2.4.2, so if someone could actualize it will be great. Thanks.    

  Download : http://surodev.com/downloads/BASS_DSHOW2.4.2.zip

Hi,

Downloaded this new version, tested it, but I have some requests and bug to fix.
For me, it would be appreciated to have the keyboard event controled by the API, in addition of the actual. Your keyboard control when the video window has the focus work fine Smiley but I use some keys as shortcut and it would be good to control the dvd menu using other keys.

I just tryed to play an url. The player freeze. I've tested it using a local web server, same problem, and the video is stored on my hd (temporary directory) before starting to play.
Did not this function (BASS_DSHOW_StreamCreateURL) play a video in streaming mode ?

Last, when playing a dvd, the video make break. Same problem happends on my player and your demo player. Did this problem is due to the codec or DVD-Rom's speed ? or something else... ?

Thank for your help and once again, very good job Smiley

OOPS! One other problem. I use BASS_DSHOW_ChannelGetInfo(chan, @info) and when I try to access values of info variable, I get an access violation.
So it's no possible for the moment to adapte the size of video window using this function.
« Last Edit: 18 Oct '10 - 21:13 by Alpha_ » Logged
Latch
Posts: 89


« Reply #1189 on: 19 Oct '10 - 16:34 »
Reply with quoteQuote

Well after some playing with BassDSHOW it would apear you've made the same mistakes the guy who wrote BassVideo made.  Why can't you make it like all other "file type" Bass plugins?  When I wanted to support WMA files, I simply added BassWMA and all the bass methods worked with it as if it were an MP3.  Why do you need your own "StreamCreate" and "GetPosition" methods?  The only proprietary methods you should need would be those related to the video window itself (because that's the only thing different about a video file).  The way you're doing it now, you've basically disabled a lot of built-in Bass features in addition to some extra features used in the Bass.Net library.  find out how the guys who wrote the other plugins did it, and base your code off of the audio stream and let Bass handle all of the audio functionality just like the other plugins.  The only thing you need to do then is simply make sure the video plays in synch with it.
Logged
quickmic
Posts: 248


« Reply #1190 on: 19 Oct '10 - 18:47 »
Reply with quoteQuote

Fully agree with Latch, but don't know if this is possible in that way.
Logged
Latch
Posts: 89


« Reply #1191 on: 20 Oct '10 - 00:06 »
Reply with quoteQuote

Fully agree with Latch, but don't know if this is possible in that way.

It's possible.  It just boils down to finding someone who can do it.  A video has an audio stream just like any other audio file.  They just need to get the uncompressed stream from DirectShow and let Bass have complete control over it.  The rest is just making sure the video plays in sync with it.  In other words, the audio would need to be completely separated from the video and implemented as any other audio stream would be with Bass.  I've got other third party controls that will play video with sound.  The reason I want one as a Bass plugin is so that our app can EQ and multiplex the audio, and generate waveforms.  As it is now, I can't, so Bass_DSHOW becomes no better than any other video control out there. Both sharky and the guy who wrote BassVideo have both seemed to miss this crucial point.

The guys who own the Bass engine need to run this company like AppleŽ and set stricter rules to qualify as a true Bass plugin and make sure any new "file type" plugin is able to use all the built-in base functionality from the main Bass.dll.  Sure, a video plugin would need a couple of its own methods like "SetWindow" and "ResizeWindow", but all control over playing, starting, stopping, SetPosition, etc... should all be controlled via the standard Bass methods.  Allowing Bass to have complete control over the audio is the ONLY thing that would make a video plugin (or any other) of any use to anyone's app who uses Bass for all the other audio functionality.  Our app has an EQ and fader and shows the waveforms for each track.  Do you know how crappy it looks that we can only offer that functionality for audio tracks only?  Our users also want multiplex control for karaoke videos that have the audio-only on the right track.  We pinned our hopes on BassDSHOW after watching the same failure with BassVideo.  I realize this is a small company, but a few tighter rules would really make the difference in the long outlook of this company.

Sharky, I hope you understand what we need accomplished here.  More importantly, I hope you can figure out how to do it, because if you can, it will make all the difference in the world when it comes to how many licenses you will eventually sell.
Logged
Ionut Cristea
Posts: 1374


« Reply #1192 on: 20 Oct '10 - 06:42 »
Reply with quoteQuote

Quote
Well after some playing with BassDSHOW it would apear you've made the same mistakes the guy who wrote BassVideo made.  Why can't you make it like all other "file type" Bass plugins?  When I wanted to support WMA files, I simply added BassWMA and all the bass methods worked with it as if it were an MP3.  Why do you need your own "StreamCreate" and "GetPosition" methods?  The only proprietary methods you should need would be those related to the video window itself (because that's the only thing different about a video file).  The way you're doing it now, you've basically disabled a lot of built-in Bass features in addition to some extra features used in the Bass.Net library.  find out how the guys who wrote the other plugins did it, and base your code off of the audio stream and let Bass handle all of the audio functionality just like the other plugins.  The only thing you need to do then is simply make sure the video plays in synch with it.

  Hello,

BASS_DSHOW works like other BASS plugin. Simply load as plugin with BASS, init BASS_DSHOW, and then simply use other BASS functions as (play,pause,position,duration). The only functionality that don't use BASS is the getting/setting position of a DVD stream. Please look at demos and you'll going to see that mostly the BASS functions are used.
  About video sync i'm working to a new code that it will make sync audio with video more better that it is now. Many thanks and i realy understand the problem Grin
« Last Edit: 20 Oct '10 - 07:09 by Sharky08 » Logged
quickmic
Posts: 248


« Reply #1193 on: 20 Oct '10 - 08:05 »
Reply with quoteQuote

DShow FULLY works like other plugins? ..... I use DShow as plugin but sometimes I have problems with functions... "e.g. (Call BASS_ChannelSetSync(.StreamDecode, BASS_SYNC_END, 0, 0, AddressOf TrackEnd, PlayerID)" doasn't work)"...which indecates, that it doasn't work like any other plugins. Else this problem should not be possible, cause it would be managed by bass.dll.
Also.... You said "BASS_StreamCreateFileUser" is not possible with Dshow... Maybe you have fixed that now, I checked it a long time ago, but I don't think so.... If DShow works as any other plugins, that would work.

Don't get me wrong, that should be no bashing on you, only a few examples which I don't get realized if DShow FULLY works as plugin.
« Last Edit: 20 Oct '10 - 08:09 by quickmic » Logged
Ionut Cristea
Posts: 1374


« Reply #1194 on: 20 Oct '10 - 10:57 »
Reply with quoteQuote

Quote
DShow FULLY works like other plugins? ..... I use DShow as plugin but sometimes I have problems with functions... "e.g. (Call BASS_ChannelSetSync(.StreamDecode, BASS_SYNC_END, 0, 0, AddressOf TrackEnd, PlayerID)" doasn't work)"...which indecates, that it doasn't work like any other plugins. Else this problem should not be possible, cause it would be managed by bass.dll.
Also.... You said "BASS_StreamCreateFileUser" is not possible with Dshow... Maybe you have fixed that now, I checked it a long time ago, but I don't think so.... If DShow works as any other plugins, that would work.

Don't get me wrong, that should be no bashing on you, only a few examples which I don't get realized if DShow FULLY works as plugin.

  Hello,
 First of all i won't get upset for seeing this, i know that those reply will help me improve BASS_DSHOW.
 2nd of all ...sync should be triggered...maybe i should ask Ian for this.
"BASS_StreamCreateFileUser- don't  available for BASS_DSHOW.

 Thanks.
Logged
Latch
Posts: 89


« Reply #1195 on: 22 Oct '10 - 00:55 »
Reply with quoteQuote

 Hello,

BASS_DSHOW works like other BASS plugin. Simply load as plugin with BASS, init BASS_DSHOW, and then simply use other BASS functions as (play,pause,position,duration). The only functionality that don't use BASS is the getting/setting position of a DVD stream. Please look at demos and you'll going to see that mostly the BASS functions are used.
  About video sync i'm working to a new code that it will make sync audio with video more better that it is now. Many thanks and i realy understand the problem Grin

Well, I don't know how to tell you this other than you're wrong.  I just had our existing code (years in the making) treat a video file like it does the audio files and NOTHING works.  I've initiated BassDSHOW and only used the Setwindow method from BassDSHOW and used Bass for everything else (StreamCreateFile, etc...) and it just doesn't work.  Nothings works.  Your plugin does NOT work like it should.  I'll stop by here next fall (when we will be working on the 2012 version of our app) and hopefully you'll have something we can work with, but for now, it looks like we will have to stick with the old BassVideo for our 2011 release (which also doesn't work as it should, but it at least works).

If you recall, I was the one who was here last fall when we were looking to release our 2010 version and was complaining about BassVideo, and that's when you stepped into the picture.  I was very pleased someone was taking over the job of making a video plugin for Bass.  You have got some good work done in the past year, and I applaud your progress, but you've simply recreated the same problem the guy who wrote BassVideo did. If it can't treat the audio portion of a video exactly like it were an MP3 and enable ALL of the other Bass functionality, it is completely useless to an app like ours that needs faders, an EQ, pitch, timing, and waveform displays.  We built a "player" class written completely around the Bass engine.  With BassVideo (and now DSHOW), we had to create separate proceedures for opening, playing, getting/setting position, and lots more JUST to handle video separately.  In other words, we shouldn't have to, and more importantly, YOU shouldn't have to either.  Whoever wrote the BassWMA plugin understood this.  We simply added the plugin and all of our code for opening, playing, getting waveforms, setting pitch and tempo, etc.. all just worked.  A plugin for video should be NO different EXCEPT in the areas where a video is different, which means the ONLY extra methods that should need to be called from your plugin are "SetWindow", "AddWindow", and "ResizeWindow".  There should NOT be Bass_DSHOW methods for "StreamCreateFile" and all those others that Bass already does.  The moment you created those methods was the moment you got off course and the moment your plugin was NOT officially a plugin.  The whole word "plugin" should be a clue.  A developer should just be able to plug it in and have it work with the existing code just like the other plugins.

Keep in mind that this is NOT a stand-alone control.  It is indeed a plugin for Bass, and should be written accordingly to allow Bass to do ALL of the audio work.  By doing so, you enable developers to use the myriad of Bass functionality with video as well.  As it is now, your control is just another video player, and you're not going to make much money simply putting another video control out there in a sea of many.  The value of this plugin only comes into play when it ACTUALLY becomes a Bass plugin.  Get it to work like a true Bass plugin, and you will make money, and I'll be one of the first to gladly pay you for a license.  Since it appears that this task is quite difficult (and I only say that since 2 separate developers across almost 3 years still haven't got it right), you could charge a bit more for a license than you realize.

I found your web site and I'm going to send you an email with some numbers that might motivate you Smiley
« Last Edit: 22 Oct '10 - 01:10 by Latch » Logged
Latch
Posts: 89


« Reply #1196 on: 22 Oct '10 - 01:25 »
Reply with quoteQuote

Scratch that.  I tried emailing your address on your web site admin@suamp.ro and it was returned with the message:

<admin@suamp.ro>:
Sorry, I couldn't find any host named suamp.ro. (#5.1.2)
Logged
Ionut Cristea
Posts: 1374


« Reply #1197 on: 22 Oct '10 - 07:25 »
Reply with quoteQuote

Quote
Scratch that.  I tried emailing your address on your web site admin@suamp.ro and it was returned with the message:

<admin@suamp.ro>:
Sorry, I couldn't find any host named suamp.ro. (#5.1.2)

  Hello,

 My website is http://surodev.com
Logged
azrael11
Guest
« Reply #1198 on: 23 Oct '10 - 17:58 »
Reply with quoteQuote

how about add ffmpeg support to make it cross compile....

Logged
big_gun
Posts: 342


« Reply #1199 on: 23 Oct '10 - 18:21 »
Reply with quoteQuote

Latch, Sharkey,

I have to chime in too. I also felt let down from bassVideo. I agree that we don't need a lot of features other than control over the video windows as part of a "special api".

But latch, you are wrong about a something. Even basswma plugin has stream_create_file method. I think that bass calls those methods on the plugins for you.

I have also wrote a class to "wrap" the bass.net calls, and changing it for video wasn't too hard as the api currently stands. But I am of the opinion that sharkey should stop "adding features" to the DShow plugin and focus on getting what's in there already working spot on with all different types of files playable by directshow.

Sharkey, I for one say "Good job" and keep it up. Let's make Bass DShow a really good video plugin, and nothing more.

Sincerely,

Rick
Logged
Pages: 1 ... 58 59 [60] 61 62 ... 135
  Reply  |  Print  
 
Jump to:  

Powered by SMF 1.1.18 | SMF © 2013, Simple Machines