Package com.avpkit.mediatool
Class MediaToolAdapter
- java.lang.Object
-
- com.avpkit.mediatool.AMediaGeneratorMixin
-
- com.avpkit.mediatool.AMediaToolMixin
-
- com.avpkit.mediatool.MediaToolAdapter
-
- All Implemented Interfaces:
IMediaGenerator,IMediaListener,IMediaTool
public class MediaToolAdapter extends AMediaToolMixin implements IMediaTool
An implementation ofIMediaToolthat forwards allIMediaListenerevents to listeners registered withaddListener(IMediaListener).Forwards every call on the
IMediaListenerinterface methods to all listeners added on theIMediaGeneratorinterface, and declares its support of theIMediaToolinterface.This can be useful if you want to implement your own
IMediaTool, want help implementing theIMediaListenercall backs, and want your parent class to declare support for theIMediaToolinterface.- Author:
- aclarke
-
-
Constructor Summary
Constructors Constructor Description MediaToolAdapter()
-
Method Summary
-
-
-
Constructor Detail
-
MediaToolAdapter
public MediaToolAdapter()
-
-
Method Detail
-
addListener
public boolean addListener(IMediaListener listener)
Adds this listener to a thread-safe set.- Specified by:
addListenerin interfaceIMediaGenerator- Overrides:
addListenerin classAMediaGeneratorMixin- Parameters:
listener- the listener to add- Returns:
- true if the set was modified when adding this call.
-
getListeners
public java.util.Collection<IMediaListener> getListeners()
Get a read-only collection of addedIMediaListenerobjects.- Specified by:
getListenersin interfaceIMediaGenerator- Overrides:
getListenersin classAMediaGeneratorMixin- Returns:
- a read-only collection of
IMediaListenerobjects.
-
removeListener
public boolean removeListener(IMediaListener listener)
Remove this listener from the thread-safe set ofIMediaListenerobjects.- Specified by:
removeListenerin interfaceIMediaGenerator- Overrides:
removeListenerin classAMediaGeneratorMixin- Parameters:
listener- the listener to remove- Returns:
- true if the set was modified by this call.
-
onAddStream
public void onAddStream(IAddStreamEvent event)
CallsIMediaListener.onAddStream(IAddStreamEvent)on all registered listeners.- Specified by:
onAddStreamin interfaceIMediaListener- Overrides:
onAddStreamin classAMediaToolMixin- Parameters:
event- AAddStreamEventevent
-
onAudioSamples
public void onAudioSamples(IAudioSamplesEvent event)
CallsIMediaListener.onAudioSamples(IAudioSamplesEvent)on all registered listeners.- Specified by:
onAudioSamplesin interfaceIMediaListener- Overrides:
onAudioSamplesin classAMediaToolMixin- Parameters:
event- An event containing theIAudioSamplesfor this event. TheIAudioSamplesin this event is only valid for the duration of this callback. If you need to access it after you return, you must either copy the data into your own buffers, or callIAudioSamples.copyReference()to get your own reference to the data.
-
onClose
public void onClose(ICloseEvent event)
CallsIMediaListener.onClose(ICloseEvent)on all registered listeners.- Specified by:
onClosein interfaceIMediaListener- Overrides:
onClosein classAMediaToolMixin- Parameters:
event- ACloseEvent
-
onCloseCoder
public void onCloseCoder(ICloseCoderEvent event)
CallsIMediaListener.onCloseCoder(ICloseCoderEvent)on all registered listeners.- Specified by:
onCloseCoderin interfaceIMediaListener- Overrides:
onCloseCoderin classAMediaToolMixin- Parameters:
event- ACloseCoderEvent
-
onFlush
public void onFlush(IFlushEvent event)
CallsIMediaListener.onFlush(IFlushEvent)on all registered listeners.- Specified by:
onFlushin interfaceIMediaListener- Overrides:
onFlushin classAMediaToolMixin- Parameters:
event- AFlushEvent
-
onOpen
public void onOpen(IOpenEvent event)
CallsIMediaListener.onOpen(IOpenEvent)on all registered listeners.- Specified by:
onOpenin interfaceIMediaListener- Overrides:
onOpenin classAMediaToolMixin- Parameters:
event- AOpenEvent
-
onOpenCoder
public void onOpenCoder(IOpenCoderEvent event)
CallsIMediaListener.onOpenCoder(IOpenCoderEvent)on all registered listeners.- Specified by:
onOpenCoderin interfaceIMediaListener- Overrides:
onOpenCoderin classAMediaToolMixin- Parameters:
event- AOpenCoderEvent
-
onReadPacket
public void onReadPacket(IReadPacketEvent event)
CallsIMediaListener.onReadPacket(IReadPacketEvent)on all registered listeners.- Specified by:
onReadPacketin interfaceIMediaListener- Overrides:
onReadPacketin classAMediaToolMixin- Parameters:
event- AReadPacketEvent. ThisIPacketin this event is only valid for the duration of this call. If you need to use the data after this call has returned, you must either copy the data in this call, or useIPacket.copyReference()to create a new object with a reference you can own.
-
onVideoPicture
public void onVideoPicture(IVideoPictureEvent event)
CallsIMediaListener.onVideoPicture(IVideoPictureEvent)on all registered listeners.- Specified by:
onVideoPicturein interfaceIMediaListener- Overrides:
onVideoPicturein classAMediaToolMixin- Parameters:
event- An event containing either anIVideoPicture, aBufferedImage, or both. TheIVideoPictureis only valid for the duration of this callback. If you need to access it after you return, you must either copy the data into your own buffers, or callIVideoPicture.copyReference()to get your own reference to the data.
-
onWriteHeader
public void onWriteHeader(IWriteHeaderEvent event)
CallsIMediaListener.onWriteHeader(IWriteHeaderEvent)on all registered listeners.- Specified by:
onWriteHeaderin interfaceIMediaListener- Overrides:
onWriteHeaderin classAMediaToolMixin- Parameters:
event- AWriteHeaderEvent
-
onWritePacket
public void onWritePacket(IWritePacketEvent event)
CallsIMediaListener.onWritePacket(IWritePacketEvent)on all registered listeners.- Specified by:
onWritePacketin interfaceIMediaListener- Overrides:
onWritePacketin classAMediaToolMixin- Parameters:
event- AWritePacketEvent. TheIPacketin this event is only valid for the duration of this call. If you need to use the data after this call has returned, you must either copy the data in this call, or useIPacket.copyReference()to create a new object with a reference you can own.
-
onWriteTrailer
public void onWriteTrailer(IWriteTrailerEvent event)
CallsIMediaListener.onWriteTrailer(IWriteTrailerEvent)on all registered listeners.- Specified by:
onWriteTrailerin interfaceIMediaListener- Overrides:
onWriteTrailerin classAMediaToolMixin- Parameters:
event- AWriteTrailerEvent
-
-