Doppio Media Code
This is Doppio Media, a high security media framework.
Brought to you by:
m_scheerer
File | Date | Author | Commit |
---|---|---|---|
src | 2015-09-25 |
![]() |
[745266] code cleanup |
techdocs | 2015-05-15 |
![]() |
[95b32f] techdocs2 |
AUTHORS | 2015-04-24 |
![]() |
[b63f05] Initial commit |
LICENCE | 2015-04-24 |
![]() |
[b63f05] Initial commit |
README | 2015-06-12 |
![]() |
[98db20] bugfixing broken seeking in case of mp3 and mpeg |
README.media.applet | 2015-04-24 |
![]() |
[b63f05] Initial commit |
build.xml | 2015-04-24 |
![]() |
[b63f05] Initial commit |
icon.gif | 2015-04-24 |
![]() |
[b63f05] Initial commit |
WHAT IT IS ---------- This is Doppio, a programming language independent lightweight media framework which is currently implemented as a Java and a J# version named Lightweight Java/.NET Media Framework (LJMF). There's also a C# version in development. Features -------- Doppio supports currently decoding (playback) with following features: -Non progressive, progressive download or full streaming from local or internet sources -rewinding with picture preview in all above mentioned use cases -internal database storing and query metadata of a media -handle many media streams -spectrum analysing with time and frequency representation -equalizing -fullscreen (Media Applet) -selectable video scaling algorithm (Media Applet) -dual monitor support (Media Applet) -plugging various media formats Media format support --------------------- Ogg Sceleton (Metadata) Ogg Comment (Metadata) ID3 (Metadata) Ogg Vorbis (Audio) Ogg Theora (Video + Audio) MP1, MP2, MP3 (Audio) Mpeg1 (Video + Audio) Mpeg2 (Video + Audio) Trans/encoding support for running on servers is planned. Compiling --------- Compiling Java: -Install Java SDK -Delete folder src/org/ljmf/audio/dotnet -Execute the Ant script to create a jar file Compiling J#: -Install .NET SDK, J# SDK and DirectSound SDK -Delete folder src/org/ljmf/audio/java -Execute the J# compiler: e.g. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\vjc.exe /o /r:"C:\WINDOWS\Microsoft.NET\Managed DirectX\v9.03.91\Microsoft.DirectX.DirectSound.dll" /t:library /out:doppio.dll /recurse:org\*.java Compiling C# -Install .NET SDK and DirectSound SDK -Execute the C# compiler: e.g. C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\csc.exe /o /r:"C:\WINDOWS\Microsoft.NET\Managed DirectX\v9.03.91\Microsoft.DirectX.DirectSound.dll" /t:library /out:doppio.dll /recurse:org\*.cs Installation ------------ Using the compiled framework under arbitrary Java languages: Bind the library as a JAR into the target project. Using the compiled framework under arbitrary .NET languages J#): Bind the library as a DLL into the target project. With .NET versions higher than 3.5 use this workaround - here's a C# example: The following code needs to be called in your C# code before instantiating any classes or calling any code in a J# DLL. After you call this, you can then call all of your J# code. You load the library explicitly and then Windows already knows its location. Simple example: using System; using System.IO; using System.Runtime.InteropServices; using net.windward.api.csharp; namespace TestNet40 { class Program { [DllImport("kernel32", SetLastError = true)] static extern IntPtr LoadLibrary(string lpFileName); static void Main(string[] args) { if (Environment.Version.Major >= 4) { string folder = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.System), @"..\Microsoft.NET\Framework\v2.0.50727"); folder = Path.GetFullPath(folder); LoadLibrary(Path.Combine(folder, "vjsnativ.dll")); } // now call J# code Report.Init(); Console.Out.WriteLine("success!"); } } } Shipping the .NET project: Include the needed J# runtime into the Setup.exe: http://www.microsoft.com/en-us/download/details.aspx?id=15468 Using the compiled framework under arbitrary .NET languages (C#): Bind the library as a DLL into the target project.