Menu

Tree [745266] master /
 History

HTTPS access


File Date Author Commit
 src 2015-09-25 Michael Scheerer Michael Scheerer [745266] code cleanup
 techdocs 2015-05-15 Michael Scheerer Michael Scheerer [95b32f] techdocs2
 AUTHORS 2015-04-24 Michael Scheerer Michael Scheerer [b63f05] Initial commit
 LICENCE 2015-04-24 Michael Scheerer Michael Scheerer [b63f05] Initial commit
 README 2015-06-12 Michael Scheerer Michael Scheerer [98db20] bugfixing broken seeking in case of mp3 and mpeg
 README.media.applet 2015-04-24 Michael Scheerer Michael Scheerer [b63f05] Initial commit
 build.xml 2015-04-24 Michael Scheerer Michael Scheerer [b63f05] Initial commit
 icon.gif 2015-04-24 Michael Scheerer Michael Scheerer [b63f05] Initial commit

Read Me

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.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.