01011
RSPpmp3
First of all: thanks to the developers of:
Libav(ffmpeg)
SDL
Rabbit MP3 DLL
Dialog Medien MP3 OCX
Maplay 1.2
Netshow 2.0
they are all amazing like the Spider Man
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Each new build has several weird bugs fixed, this means that when the
build 20000 become available (by the end of the year at this compilation
rate) this DLL will be (almost) stable
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mv_______->decoder_c___debug_flag=0;
// if 1 it will simulate a delay in the audio, if 2 in the video
test also to see if the return from hibernation and suspend state is
working as expected, my tests passed
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BE Arabian MP3 DLL moving project
Win32 and soon Win64 (_M_X64 x64 processors, Itanium soon I supose, but mingw
developers are saying 'no Itanium support anymore' then no Itanium for the moment)
Dll to play all audio and video media formats
Sources available on the folder .\bucaneiro\win32\mp3dll\mp3dll\bin\x86\Release\src\c_project
Description
- Ability to play media files in the following formats:
All media formats supported by ffmpeg (flv avi mov rm ra including the new amazingly fast and advanced rsp format
and many many more)
- It has a high quality (I supose) graphical equalizer (copied (as usual) from the XMMS project, as
far as I know it is optimized for 44100 sample rate, I will use the Shibatch version later,
because some people say that it is a real high quality version)
- It has a spectrum analyzer (now working) with 10 bands
- The decoder engine is loaded dynamically in the process
- You can define what wave out device ( soundcard ) will play the MP3 file
- The control has support to Xing and VBRI based VBR files
- The control can retrieve bitrate, samplerate, layer, stereo
mode and the time of the media file as formatted string or milliseconds
- Several wave effects
- ReplayGain and the new and recommended BENormalize normalization method
- Ability to extract to wav pcm in 16, 24 and 32 bits and FLOAT (soon to all formats too)
- Future versions will be able to play backwards.
- Future versions will have more features (at least this is what everyone is expecting I supose)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Limitations:
All problems related to Libav are related also to this dll
If you want to see a Libav problem that can crash our DLL just try to play a flv file with an id3 v2 tag, soon we will
fix it or create a workaround
Cannot seek very well on webm files, test and you will see, or maybe I have a bad
encodded webm file here, anyway you are warned
Don't resize the window without a reload of the media file, will be fixed soon. (but this is not
something that need to be added immediately)
If you use the SoundTouch the audio and video will lose sinchronization.
at line 590 of player.c decoder_c___ponto need to be modified
for SoundTouch support for video and audio sincronization with
different tempo, just multiply the ratio of the data entering
and exiting SoundTouch to this value, and the video will
sinchronize perfectly, consider this a C programming excercise
that I am passing to you
SDL was developed for a single instance method, multiple instance support to SDL will
be added later as an extension, but if you want to fix it yourself just keep
every global variable in SDL in a struct that is loaded and initiated at each initialization
like we did with all the global variables of the rspmp3ocx1.dll and it is multiple instance
capable, consider this also an exercise because you need to use your brain for something
Only 32 bits for the moment, but soon a 64 bits will be available, and since all the
required sources are available you can compile it without major problems
The playback of media files with more than two channels is possible, up to 8 channels
but it was untested, in this case the first two channels will play, suposed the
left and right channel following the Nero and Microsoft specification, as far as I know
Ogg Vorbis, AAC and AC-3 can have these multiples channels options but the information is vague
(as usual)
No subtitles support for the moment
Can select any audio track for playback but only the first video
track for the moment, it will be extended soon
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Libav version information
BEGIN:
{
ffmpeg version N-34549-g13b7781, Copyright (c) 2000-2011 the FFmpeg developers
built on Nov 6 2011 22:24:44 with gcc 4.6.1
configuration: --disable-static --enable-shared --enable-gpl --enable-version3
--disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib
--enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb
--enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg
--enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora
--enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx
--enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil 51. 24. 0 / 51. 24. 0
libavcodec 53. 28. 0 / 53. 28. 0
libavformat 53. 19. 0 / 53. 19. 0
libavdevice 53. 4. 0 / 53. 4. 0
libavfilter 2. 47. 0 / 2. 47. 0
libswscale 2. 1. 0 / 2. 1. 0
libpostproc 51. 2. 0 / 51. 2. 0
}
END:
You can replace the Libav dlls with different and updated versions, indeed it is
recommended
In a near future the Libav will be incorporated inside the rspmp3ocx1.dll to
avoid too many dlls in the same path of the dll and avoid conflicts
with different copies of the Libav dlls in the same process running (
it is rare to occur but is possible)
Depends on the msvcr90.dll because our modified version of SDL was not
converted to mingw (yet)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What is new in the version 3.3.86 build 5363
Large enhancements on the audio and video sinchronization
, now when returning from suspend and hibernation state
the sinchronization will recover perfectly, many other
modifications.
What is new in the version 3.2.928 build 5205
Fixed a small problem in the audio and video
sinchronization, the value of the time required to
draw the image was in seconds and not milliseconds,
now the milliseconds will be diminished of the
requested sleep time making it more accurate, anyway
you will not perceive the difference because the method
that I was using to sinchronize already was able to compensate
for this problem, the variable in question was 'timespent'.
What is new in the version 3.2.918 build 5195
Due to some flaws on the ReplayGain we developed the new
BENormalize normalization method, it s based on the peak value
of the samples, believe me it gives better results than ReplayGain,
just make some tests and you will see.
What is new in the version 3.2.886 build 5163
Now the apllication running the DLL will not hijack
the focus when the video is loaded, then you can do
other works while the player is running in the background
, you can test it if you set the loop mode.
What is new in the version 3.2.878 build 5155
Modified the sample project to avoid some problems, next
release will adjust the size of the player window without a reload
of the media file as expected, the modified sources of SDL
was included and if you don't have the whole DirecX SDK installed
(like me) you will find the file dxguid.lib handy, it is in the
SDL sources folder, and now with all the sources available anyone
can compile this to 64 bits, at least my portions of the sources
are win64 ready for a long time now.
What is new in the version 3.2.874 build 5151
Fixed problem that occurs when the DirectX surface is lost
, now it will recover from this situation without any problem,
and I don't supose that modifications to SDL more than we did
are necessary.
What is new in the version 3.2.816 build 5093
Modified the behavior of the Open and Play functions now it
will return -1 if you are calling these while the last call
was not finished loading the media file, without it the DLL
can enter in an infinite loop waiting for something that never
will occur, if you receive a -1 from this call you only need
to add a Sleep(3000) and call the open or play function again
with the same media file, it sounds strange
but it is very weird to track where the loading processing is
to stop it immediately at anytime, maybe in the future this
behavour will be modified but for the moment this is the best
thing to do, many small bugs removed.
What is new in the version 3.2.766 build 5043
Now we are using DirectX for drawing because it
is faster, some apis modified for DirecX
support, the SDL version embedded on our
code is a lot different than the original
version, and it depends on the msvcr90.dll,
I will not remove this dependency without
a good reason, it would be great to keep msvcr90.dll
with us to remember how important the MSVC
compilers was in the past
, but if someone ask I will make it compile
with mingw, indeed I love to convert projects
to mingw because they run faster and no
dependency of any kind and easy port to 64
with Cygwin, another thing, the audio and video
sinchronization has several different modes
to avoid problems, but yet I don't know if it
is perfect, take a look, and yet
the seek on webm files don't occurs as expected,
this is a Libav problem, the only solution that
I have to this problem is slow, then it is not
a solution at all.
What is new in the version 3.2.9 build 4286
First release capable of playing video, it will
skip some frames it the processor time is not
enough to process the video draw request (as
expected), the video is outside of the form for
the moment, next release will show the video
inside the form as a picturebox, many modifications
and bug fixes, the spectrum analizer now is a real
FFT based spectrum analizer and work very well.
What is new in the version 3.1.238 build 3515
The seek on webm files is not working as expected
, we are thinking about what is the best workaround
to this problem, a slow solution is ready but since it
is slow it is not a real fix to the problem, we need
code to handle webm outside the Libav, this appears
to be the best solution or hook on the Libav apis and
replace the webm functions with another fixed
implementation.
What is new in the version 3.1.169 build 3446
Fixed weird memory access problem on the
id3 v1 tag implementation that was there
since 2001.
What is new in the version 2.5.68 build 2745
Removed the ffms2.dll because it is slow, and now we
are using directly the Libav dlls (included), many
other modifications, and no change in the external
apis, fixed many bugs too, this is a stable release.
What is new in the version 2.2.83 build 2460
Many bugs fixed, added also many enhancements.
What is new in the version 2.1.40 build 2317
First release with Libav support(ffmsi2.dll)
Now the dll can play all media formats, video
support will follow
Many modifications when compared with older releases,
Some functions was renamed and removed too.
Check the sources to see what is different.
What is new in the version 1.9.2 build 2072
An unexpected problem started on version 1.8.1 fixed in
this version, in this case an AAC or MP4 would just not
play, fixed.
What is new in the version 1.8.8 build 2068
After now the DLL can only play perfect MPEG data,
if it is a problem to you comment out the lines
233, 234 and 235 of the player.c source file.
What is new in the version 1.8.4 build 2067
Detected a bug on the mp3 decoder (it is not a joke)
it may cause the DLL to become in an instable state
and crash the application, it only occurs if you
pass an invalid media file that is not a perfect
mp3, the chances of this occur is small but will
be fixed as soon as I got time, sorry for this problem
, I have removed the mpeglib as the decoder just due
to these problems, and I was not expecting this
problem also with madlib.
What is new in the version 1.8.1 build 2066
Important information: after 11 years the spectrum
analizer is finally working.
What is new in the version 1.8.1 build 2066
Too many modifications to be listed here,
now the win64 version need to be compiled, you only
need to adjust the makefile to do it, many many
modifications, replace older versions of this
dll with this release for fixes.
Another important information: after now the
additional media formats supported will only be
able to seek after 2 seconds of playback, for
wav and mpeg (mp3) it is not affected, maybe in
a near future when I gathering the Standard C
sources of all the media formats directly it
will be able to seek like mp3 and wav.
What is new in the version 1.5.8 build 2043
Small modifications, the API ConvertMP3ToWav
has changed their arguments, please check
your code if you will just replace an older
version of the DLL with the new version,
both win32 and win64 binaries of the latest
release is available.
What is new in the version 1.5.7 build 2042
Fixed a weird bug in the playback of mono files
that will play it slowly, sorry for not figuring
it out before.
What is new in the version 1.5.6 build 2041
Removed mpeglib, it has severallimitations
to decode a damaged mp3 file then it was just removed
nowonly madlib decodes mp3, several modofocations
and enhancements, the 64 bits release is the same as the
version 1.5.5,if you need compile the 64 bits
to update, the win32 version dll is real version
1.5.6, in the next release both binaries will
be exactly the same, absence of time at this moment,
sorry, the sample project in C# was modified
and the 64 bits version is old,it will be
updated also on the next release.
What is new in the version 1.5.5 build 2040
Added possibility to convert the mp3 data to various
wav modes, PCM 16 24 32 and FLOAT, minor modifications.
What is new in the version 1.5.2 build 2037
(Tue May 17 GMT 13:42:28 2011 , by arab)
Fixed a bug on the equalizer when running
on 64 bits systems, minor modifications.
What is new in the version 1.5.0 build 2034
(Mon May 16 GMT 17:10:29 2011 , by arab)
Now the win32 and win64 dlls compiles only
with mingw and mingw64, first release with
both 32 and 64 bits of the dlls and sample
project, many modifications on the sources,
and now the playback is always madlib.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Installation and Usage:
Install : Extract the files to an empty folder
Uninstall: Delete the folder
Important:
1-No access to the registry from the DLL (maybe from Libav or SDL, please check
if it is a problem to you),
it is XP, Vista and Windows 7 safe at least my portions of the code
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Documentation is available online on the homepage
Homepage:
http://rsppmp3.sourcererforge.net/ <- primary
http://rsppmp3.sourceforge.net/ <- real
http://rspsoftware.com.br/my_dad_special_release.htm
http://svansa.tripod.com/my_dad_special_release.htm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
twitter:
http://twitter.com/morcego51 for a fast rejoinder
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#if DOE______
/*
http://en.wikipedia.org/wiki/Boolean_algebra
thy computer's book:
The TTL Data Book for Design Engineers. 1st Ed. Dallas: Texas Instruments Semiconductor. 1973
*/
#endif
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Thanks for using our software.
Hecho en Persia (Fabricado com muita dificuldade na Arabia)
Downloads
here
Send
email and ask for improvements