org.red5.io.flv.impl
Class FLVWriter

java.lang.Object
  extended by org.red5.io.flv.impl.FLVWriter
All Implemented Interfaces:
ITagWriter

public class FLVWriter
extends Object
implements ITagWriter

A Writer is used to write the contents of a FLV file

Author:
The Red5 Project ([email protected]), Dominick Accattato ([email protected]), Luke Hubbard, Codegent Ltd ([email protected]), Tiago Jacobs ([email protected]), Paul Gregoire ([email protected])

Constructor Summary
FLVWriter(File file, boolean append)
          Creates writer implementation with given file and last tag FLV.java uses this constructor so we have access to the file object
 
Method Summary
 void close()
          Ends the writing process, then merges the data file with the flv file header and metadata.
 long getBytesWritten()
          Return the bytes written
 IStreamableFile getFile()
          Return the file that is written.
 int getOffset()
          Return the offset
 void setFLV(IFLV flv)
          Setter for FLV object
 void setOffset(int offset)
          Setter for offset
 void writeHeader()
          Writes the header bytes
 boolean writeStream(byte[] b)
          Write a Stream to disk using bytes
 boolean writeTag(byte type, IoBuffer data)
          Write a Tag using bytes
 boolean writeTag(ITag tag)
          Writes a Tag object
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FLVWriter

public FLVWriter(File file,
                 boolean append)
Creates writer implementation with given file and last tag FLV.java uses this constructor so we have access to the file object

Parameters:
file - File output stream
append - true if append to existing file
Method Detail

writeHeader

public void writeHeader()
                 throws IOException
Writes the header bytes

Specified by:
writeHeader in interface ITagWriter
Throws:
IOException - Any I/O exception

writeTag

public boolean writeTag(ITag tag)
                 throws IOException
Writes a Tag object

Specified by:
writeTag in interface ITagWriter
Parameters:
tag - Tag to write
Returns:
true on success, false otherwise
Throws:
IOException - I/O exception

writeTag

public boolean writeTag(byte type,
                        IoBuffer data)
                 throws IOException
Write a Tag using bytes

Specified by:
writeTag in interface ITagWriter
Parameters:
type - Tag type
data - Byte data
Returns:
true on success, false otherwise
Throws:
IOException - I/O exception

writeStream

public boolean writeStream(byte[] b)
Write a Stream to disk using bytes

Specified by:
writeStream in interface ITagWriter
Parameters:
b - Array of bytes to write
Returns:
true on success, false otherwise

close

public void close()
Ends the writing process, then merges the data file with the flv file header and metadata.

Specified by:
close in interface ITagWriter

getFile

public IStreamableFile getFile()
Return the file that is written.

Specified by:
getFile in interface ITagWriter
Returns:
the File to be written

setFLV

public void setFLV(IFLV flv)
Setter for FLV object

Parameters:
flv - FLV source

getOffset

public int getOffset()
Return the offset

Specified by:
getOffset in interface ITagWriter
Returns:
Offset value

setOffset

public void setOffset(int offset)
Setter for offset

Parameters:
offset - Value to set for offset

getBytesWritten

public long getBytesWritten()
Return the bytes written

Specified by:
getBytesWritten in interface ITagWriter
Returns:
Number of bytes written


Copyright © 2006-2012 The Red5 Project