net.sf.fmj.ffmpeg_java
Class FFMPEGParser

java.lang.Object
  extended by net.sf.fmj.media.AbstractControls
      extended by net.sf.fmj.media.AbstractPlugIn
          extended by net.sf.fmj.media.AbstractDemultiplexer
              extended by net.sf.fmj.ffmpeg_java.FFMPEGParser
All Implemented Interfaces:
Controls, Demultiplexer, Duration, MediaHandler, PlugIn

public class FFMPEGParser
extends AbstractDemultiplexer

Demultiplexer which uses ffmpeg.java native wrapper around ffmpeg (libavformat, libavcodec, libavutil, libswscale).

Author:
Ken Larson

Field Summary
 
Fields inherited from interface javax.media.PlugIn
BUFFER_PROCESSED_FAILED, BUFFER_PROCESSED_OK, INPUT_BUFFER_NOT_CONSUMED, OUTPUT_BUFFER_NOT_FILLED, PLUGIN_TERMINATED
 
Fields inherited from interface javax.media.Duration
DURATION_UNBOUNDED, DURATION_UNKNOWN
 
Constructor Summary
FFMPEGParser()
           
 
Method Summary
 void close()
           
static AudioFormat convertCodecAudioFormat(net.sf.ffmpeg_java.AVCodecLibrary.AVCodecContext codecCtx)
           
 ContentDescriptor[] getSupportedInputContentDescriptors()
           
 Track[] getTracks()
           
 boolean isPositionable()
           
 boolean isRandomAccess()
           
 void open()
           
protected  void queryInputContentDescriptors()
           
 Time setPosition(Time where, int rounding)
           
 void setSource(DataSource source)
           
 void start()
           
 
Methods inherited from class net.sf.fmj.media.AbstractDemultiplexer
getDuration, getMediaTime, stop
 
Methods inherited from class net.sf.fmj.media.AbstractPlugIn
getName, reset
 
Methods inherited from class net.sf.fmj.media.AbstractControls
addControl, getControl, getControls, removeControl
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.media.PlugIn
getName, reset
 
Methods inherited from interface javax.media.Controls
getControl, getControls
 

Constructor Detail

FFMPEGParser

public FFMPEGParser()
Method Detail

getSupportedInputContentDescriptors

public ContentDescriptor[] getSupportedInputContentDescriptors()
Specified by:
getSupportedInputContentDescriptors in interface Demultiplexer
Specified by:
getSupportedInputContentDescriptors in class AbstractDemultiplexer

queryInputContentDescriptors

protected void queryInputContentDescriptors()

getTracks

public Track[] getTracks()
                  throws java.io.IOException,
                         BadHeaderException
Specified by:
getTracks in interface Demultiplexer
Specified by:
getTracks in class AbstractDemultiplexer
Throws:
java.io.IOException
BadHeaderException

setSource

public void setSource(DataSource source)
               throws java.io.IOException,
                      IncompatibleSourceException
Specified by:
setSource in interface MediaHandler
Specified by:
setSource in class AbstractDemultiplexer
Throws:
java.io.IOException
IncompatibleSourceException

open

public void open()
          throws ResourceUnavailableException
Specified by:
open in interface PlugIn
Overrides:
open in class AbstractPlugIn
Throws:
ResourceUnavailableException

close

public void close()
Specified by:
close in interface PlugIn
Overrides:
close in class AbstractPlugIn

start

public void start()
           throws java.io.IOException
Specified by:
start in interface Demultiplexer
Overrides:
start in class AbstractDemultiplexer
Throws:
java.io.IOException

isPositionable

public boolean isPositionable()
Specified by:
isPositionable in interface Demultiplexer
Overrides:
isPositionable in class AbstractDemultiplexer

setPosition

public Time setPosition(Time where,
                        int rounding)
Specified by:
setPosition in interface Demultiplexer
Overrides:
setPosition in class AbstractDemultiplexer

isRandomAccess

public boolean isRandomAccess()
Specified by:
isRandomAccess in interface Demultiplexer
Overrides:
isRandomAccess in class AbstractDemultiplexer

convertCodecAudioFormat

public static AudioFormat convertCodecAudioFormat(net.sf.ffmpeg_java.AVCodecLibrary.AVCodecContext codecCtx)