Writes the contents of the packet to the container.
If the current thread is interrupted while this blocking method is running the method will return with a negative value. To check if the method exited because of an interruption pass the return value to {@link IError#make(int)} and then check {@link IError#getType()} to see if it is {@link IError.Type#ERROR_INTERRUPTED}.
@param packet [In] The packet to write out.
@param forceInterleave [In] If true, then this {@link IContainer} will make sure all packets are interleaved by DTS (even across streams in a container). If false, the {@link IContainer} won't, and it's up to the caller to interleave if necessary.
@return # of bytes written if successful, or <0 if not.