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.