codeanticode.gsvideo
Class GSPipeline

java.lang.Object
  extended by processing.core.PImage
      extended by codeanticode.gsvideo.GSPipeline
All Implemented Interfaces:
java.lang.Cloneable, processing.core.PConstants

public class GSPipeline
extends processing.core.PImage
implements processing.core.PConstants

This class allows to create a custom GStreamer pipeline.


Field Summary
 byte[] data
           
 java.lang.String dataCaps
           
 
Fields inherited from class processing.core.PImage
format, height, parent, pixels, width
 
Fields inherited from interface processing.core.PConstants
A, AB, ADD, AG, ALPHA, ALPHA_MASK, ALT, AMBIENT, AR, ARC, ARGB, ARROW, B, BACKSPACE, BASELINE, BEEN_LIT, BEVEL, BILINEAR, BLEND, BLUE_MASK, BLUR, BOTTOM, BOX, BURN, CENTER, CENTER_DIAMETER, CENTER_RADIUS, CHATTER, CLAMP, CLOSE, CMYK, CODED, COMPLAINT, CONTROL, CORNER, CORNERS, CROSS, CUSTOM, DA, DARKEST, DB, DEG_TO_RAD, DELETE, DG, DIAMETER, DIFFERENCE, DILATE, DIRECTIONAL, DISABLE_ACCURATE_TEXTURES, DISABLE_DEPTH_MASK, DISABLE_DEPTH_SORT, DISABLE_DEPTH_TEST, DISABLE_NATIVE_FONTS, DISABLE_OPENGL_2X_SMOOTH, DISABLE_OPENGL_ERROR_REPORT, DODGE, DOWN, DR, DXF, DYNAMIC, EB, EDGE, EG, ELLIPSE, ENABLE_ACCURATE_TEXTURES, ENABLE_DEPTH_MASK, ENABLE_DEPTH_SORT, ENABLE_DEPTH_TEST, ENABLE_NATIVE_FONTS, ENABLE_OPENGL_2X_SMOOTH, ENABLE_OPENGL_4X_SMOOTH, ENABLE_OPENGL_ERROR_REPORT, ENTER, EPSILON, ER, ERODE, ERROR_BACKGROUND_IMAGE_FORMAT, ERROR_BACKGROUND_IMAGE_SIZE, ERROR_PUSHMATRIX_OVERFLOW, ERROR_PUSHMATRIX_UNDERFLOW, ERROR_TEXTFONT_NULL_PFONT, ESC, EXCLUSION, FIXED, G, GIF, GRAY, GREEN_MASK, HALF_PI, HAND, HARD_LIGHT, HAS_NORMAL, HINT_COUNT, HSB, IMAGE, INVERT, JAVA2D, JPEG, LEFT, LIGHTEST, LINE, LINE_LOOP, LINE_STRIP, LINEAR, LINES, LINUX, MACOSX, MAX_FLOAT, MAX_INT, MIN_FLOAT, MIN_INT, MITER, MODEL, MODELVIEW, MOVE, MULTIPLY, NORMAL, NORMALIZED, NX, NY, NZ, OPAQUE, OPEN, OPENGL, OPENGL2, ORTHOGRAPHIC, OTHER, OVERLAY, P2D, P3D, PATH, PDF, PERSPECTIVE, PI, platformNames, POINT, POINT_SPRITES, POINTS, POLYGON, POSTERIZE, PROBLEM, PROG_GL2, PROG_GL3, PROG_GL4, PROJECT, PROJECTION, QUAD, QUAD_STRIP, QUADRATIC, QUADS, QUARTER_PI, R, RAD_TO_DEG, RADIUS, RECT, RED_MASK, REPEAT, REPLACE, RETURN, RGB, RIGHT, ROUND, SA, SB, SCREEN, SG, SHAPE, SHIFT, SHINE, SOFT_LIGHT, SPB, SPG, SPHERE, SPOT, SPR, SQUARE, SR, STATIC, STREAM, SUBTRACT, SW, TAB, TARGA, TEXT, TEXTURE2D, THIRD_PI, THRESHOLD, TIFF, TOP, TRIANGLE, TRIANGLE_FAN, TRIANGLE_STRIP, TRIANGLES, TRILINEAR, TWO_PI, TX, TY, TZ, U, UP, V, VERTEX_FIELD_COUNT, VW, VX, VY, VZ, WAIT, WHITESPACE, WINDOWS, X, Y, Z
 
Constructor Summary
GSPipeline(processing.core.PApplet parent, java.lang.String pstr)
          Creates an instance of GSPipeline using the provided pipeline string.
GSPipeline(processing.core.PApplet parent, java.lang.String pstr, int type)
          Creates an instance of GSPipeline using the provided pipeline string.
 
Method Summary
 boolean available()
          Return the true or false depending on whether there is a new frame ready to be read.
 void delete()
          Releases the gstreamer resources associated to this pipeline object.
 void dispose()
          Same as delete.
 void disposeBuffer(java.lang.Object buf)
           
 float duration()
          Get the full length of this movie (in seconds).
 java.lang.String getPipeline()
          Returns the text string used to build the pipeline.
 float getProperty(java.lang.String name)
          Get a float-value property from the pipeline.
 void goToBeginning()
          Goes to the first frame of the stream.
 void goToEnd()
          Goes to the last frame of the stream.
 boolean isLooping()
          Returns whether the stream is looping or not.
 boolean isPaused()
          Returns whether the stream is paused or not.
 boolean isPlaying()
          Returns whether the stream is playing or not.
 boolean isSeeking()
          Returns true if stream is completing a seeking (jump) operation.
 void jump(float where)
          Jump to a specific location (in seconds).
 void loop()
          Begin playing the stream, with repeat.
 boolean newFrame()
          Returns true if a new frame has been read to the pixels array with the read() method.
 void noLoop()
          Shut off the repeating loop.
 void oldFrame()
          Sets the new frame flag to false.
 void pause()
          Pause the stream at its current time.
 void play()
          Begin playing the stream, with no repeat.
 void read()
          Reads the current video frame.
 boolean ready()
          Returns true if the stream is already producing frames.
 void setEventHandlerObject(java.lang.Object obj)
          Uses a generic object as handler of the pipeline.
 void setPixelDest(java.lang.Object dest)
          Sets the object to use as destination for the frames read from the stream.
 void setPixelDest(java.lang.Object dest, boolean copy)
          Sets the object to use as destination for the frames read from the stream.
 void setPixelDest(java.lang.Object dest, java.lang.String mask, boolean copy)
          Sets the object to use as destination for the frames read from the stream.
 void setProperty(java.lang.String name, float v)
          Set a float-value property in the pipeline.
 void stop()
          Stop the stream, and rewind.
 float time()
          Return the current time in seconds.
 void volume(float v)
          Change the volume.
 
Methods inherited from class processing.core.PImage
blend, blend, blendColor, clone, copy, copy, filter, filter, get, get, get, getCache, getImage, getModifiedX1, getModifiedX2, getModifiedY1, getModifiedY2, getParams, init, isModified, loadPixels, mask, mask, removeCache, removeParams, resize, save, set, set, setCache, setModified, setModified, setParams, updatePixels, updatePixels
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

data

public byte[] data

dataCaps

public java.lang.String dataCaps
Constructor Detail

GSPipeline

public GSPipeline(processing.core.PApplet parent,
                  java.lang.String pstr)
Creates an instance of GSPipeline using the provided pipeline string.

Parameters:
parent - PApplet
pstr - String

GSPipeline

public GSPipeline(processing.core.PApplet parent,
                  java.lang.String pstr,
                  int type)
Creates an instance of GSPipeline using the provided pipeline string.

Parameters:
parent - PApplet
pstr - String
type - int
Method Detail

delete

public void delete()
Releases the gstreamer resources associated to this pipeline object. It shouldn't be used after this.

Overrides:
delete in class processing.core.PImage

dispose

public void dispose()
Same as delete.


setPixelDest

public void setPixelDest(java.lang.Object dest)
Sets the object to use as destination for the frames read from the stream. The color conversion mask is automatically set to the one required to copy the frames to OpenGL.

Parameters:
Object - dest

setPixelDest

public void setPixelDest(java.lang.Object dest,
                         boolean copy)
Sets the object to use as destination for the frames read from the stream. The color conversion mask is automatically set to the one required to copy the frames to OpenGL. If copy is true, then the frames are copied into new buffer objects, this can help solve threading problems when playing back a large number of videos.

Parameters:
Object - dest
boolean - copy

setPixelDest

public void setPixelDest(java.lang.Object dest,
                         java.lang.String mask,
                         boolean copy)
Sets the object to use as destination for the frames read from the stream. If copy is true, then the frames are copied into new buffer objects, this can help solve threading problems when playing back a large number of videos.

Parameters:
Object - dest
String - mask
boolean - copy

setEventHandlerObject

public void setEventHandlerObject(java.lang.Object obj)
Uses a generic object as handler of the pipeline. This object should have a pipelineEvent method that receives a GSPipeline argument. This method will be called upon a new frame read event.


duration

public float duration()
Get the full length of this movie (in seconds).

Returns:
float

time

public float time()
Return the current time in seconds.

Returns:
float

jump

public void jump(float where)
Jump to a specific location (in seconds). The number is a float so fractions of seconds can be used.

Parameters:
float - where

ready

public boolean ready()
Returns true if the stream is already producing frames.

Returns:
boolean

newFrame

public boolean newFrame()
Returns true if a new frame has been read to the pixels array with the read() method.

Returns:
boolean

oldFrame

public void oldFrame()
Sets the new frame flag to false. This is useful to avoid reading pixels array when there is no new frame data.


available

public boolean available()
Return the true or false depending on whether there is a new frame ready to be read.

Returns:
boolean

isPlaying

public boolean isPlaying()
Returns whether the stream is playing or not.

Returns:
boolean

isPaused

public boolean isPaused()
Returns whether the stream is paused or not. If isPlaying() and isPaused() both return false it means that the stream is stopped.

Returns:
boolean

isLooping

public boolean isLooping()
Returns whether the stream is looping or not.

Returns:
boolean

isSeeking

public boolean isSeeking()
Returns true if stream is completing a seeking (jump) operation.

Returns:
boolean

play

public void play()
Begin playing the stream, with no repeat.


loop

public void loop()
Begin playing the stream, with repeat.


noLoop

public void noLoop()
Shut off the repeating loop.


pause

public void pause()
Pause the stream at its current time.


stop

public void stop()
Stop the stream, and rewind.


read

public void read()
Reads the current video frame.


goToBeginning

public void goToBeginning()
Goes to the first frame of the stream.


goToEnd

public void goToEnd()
Goes to the last frame of the stream.


getProperty

public float getProperty(java.lang.String name)
Get a float-value property from the pipeline.

Parameters:
String - name
Returns:
boolean

setProperty

public void setProperty(java.lang.String name,
                        float v)
Set a float-value property in the pipeline.

Parameters:
String - name
float - v

volume

public void volume(float v)
Change the volume. Values are from 0 to 1. It will fail if the pipeline doesn't have a volume property available.

Parameters:
float - v

getPipeline

public java.lang.String getPipeline()
Returns the text string used to build the pipeline.

Returns:
String

disposeBuffer

public void disposeBuffer(java.lang.Object buf)


processing library GSVideo by Andres Colubri. (c) 2008-2011