diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferStream.java index 5aa7dfe16910c9aed8396d0c0bddc7e139f9db0b..24cd087eba52af1ad09fc96ede6ab4c40ba450cf 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferStream.java @@ -22,7 +22,7 @@ * * @author Lyubomir Marinov */ -abstract class AbstractBufferStream +abstract class AbstractBufferStream<T extends DataSource> extends AbstractControls implements SourceStream { @@ -44,7 +44,7 @@ abstract class AbstractBufferStream * The <tt>DataSource</tt> which has created this instance and which * contains it as one of its <tt>streams</tt>. */ - protected final DataSource dataSource; + protected final T dataSource; /** * The <tt>FormatControl</tt> which gives access to the <tt>Format</tt> of @@ -63,9 +63,7 @@ abstract class AbstractBufferStream * @param formatControl the <tt>FormatControl</tt> which is to abstract the * <tt>Format</tt>-related information of the new instance */ - protected AbstractBufferStream( - DataSource dataSource, - FormatControl formatControl) + protected AbstractBufferStream(T dataSource, FormatControl formatControl) { this.dataSource = dataSource; this.formatControl = formatControl; diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferStream.java index 57d4dd3b0592a706d636013b201e490f28d5d011..a5abed76eecfc91717603175a31f7c31ce4ada86 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferStream.java @@ -17,8 +17,8 @@ * * @author Lyubomir Marinov */ -public abstract class AbstractPullBufferStream - extends AbstractBufferStream +public abstract class AbstractPullBufferStream<T extends PullBufferDataSource> + extends AbstractBufferStream<T> implements PullBufferStream { @@ -33,7 +33,7 @@ public abstract class AbstractPullBufferStream * <tt>Format</tt>-related information of the new instance */ protected AbstractPullBufferStream( - PullBufferDataSource dataSource, + T dataSource, FormatControl formatControl) { super(dataSource, formatControl); diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferStream.java index d612af3bd1a0580c19c7225e15ef9e64a541d014..7017bf7586951cccc7d5b2cf96dda169a6c85bf2 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferStream.java @@ -16,8 +16,8 @@ * * @author Lyubomir Marinov */ -public abstract class AbstractPushBufferStream - extends AbstractBufferStream +public abstract class AbstractPushBufferStream<T extends PushBufferDataSource> + extends AbstractBufferStream<T> implements PushBufferStream { @@ -38,7 +38,7 @@ public abstract class AbstractPushBufferStream * <tt>Format</tt>-related information of the new instance */ protected AbstractPushBufferStream( - PushBufferDataSource dataSource, + T dataSource, FormatControl formatControl) { super(dataSource, formatControl); diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractVideoPullBufferStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractVideoPullBufferStream.java index 81fc07aef1c92eb9a702d145df61476f59ecf7bb..eb59afc9bf39dcc6c4c90ba850c8c36ad71706b7 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractVideoPullBufferStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractVideoPullBufferStream.java @@ -20,7 +20,8 @@ * @author Lyubomir Marinov */ public abstract class AbstractVideoPullBufferStream - extends AbstractPullBufferStream + <T extends PullBufferDataSource> + extends AbstractPullBufferStream<T> { /** @@ -53,7 +54,7 @@ public abstract class AbstractVideoPullBufferStream * <tt>Format</tt>-related information of the new instance */ protected AbstractVideoPullBufferStream( - PullBufferDataSource dataSource, + T dataSource, FormatControl formatControl) { super(dataSource, formatControl); diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java index 8856d64de539814ffb66468a8839cd394675369f..8a97a6570d146623eaa59e9d95e17d21f864727e 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DataSource.java @@ -178,7 +178,7 @@ public float setFrameRate(float frameRate) * @see AbstractPushBufferCaptureDevice#createStream(int, FormatControl) */ @Override - protected AbstractPushBufferStream createStream( + protected DirectShowStream createStream( int streamIndex, FormatControl formatControl) { diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java index 1bd07fb1eab982001c3eaa08dcdc618642f1164e..77c5143bed5ce97f8950aec8ac6fd35a6af86b80 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/directshow/DirectShowStream.java @@ -24,7 +24,7 @@ * @author Sebastien Vincent */ public class DirectShowStream - extends AbstractPushBufferStream + extends AbstractPushBufferStream<DataSource> { /** * The <tt>Logger</tt> used by the <tt>DirectShowStream</tt> class and its diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/DataSource.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/DataSource.java index 720d9fc8782908c2715cafea46876122bd505034..e601c011ea9285522be6d3d5e40f8fcd6abd1266 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/DataSource.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/DataSource.java @@ -88,7 +88,7 @@ public DataSource(MediaLocator locator) * @see AbstractPullBufferCaptureDevice#createStream(int, FormatControl) */ @Override - protected AbstractPullBufferStream createStream( + protected ImageStream createStream( int streamIndex, FormatControl formatControl) { diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/ImageStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/ImageStream.java index 478ae8481fc4157521c207739ea114ef9a8f9f0b..9ce0a69d2f15c8da7029086862f5ea71d9bcb186 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/ImageStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/imgstreaming/ImageStream.java @@ -28,7 +28,7 @@ * @author Damian Minkov */ public class ImageStream - extends AbstractVideoPullBufferStream + extends AbstractVideoPullBufferStream<DataSource> { /** * The <tt>Logger</tt> used by the <tt>ImageStream</tt> class and its diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/DataSource.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/DataSource.java index 51860b32aebe4752fc7012e5dbed615417a2f95b..e598f13c68f6d32bd4ddb9a45fda8215a5d46aa6 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/DataSource.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/DataSource.java @@ -108,7 +108,7 @@ public DataSource( * @see AbstractPullBufferCaptureDevice#createStream(int, FormatControl) */ @Override - protected AbstractPullBufferStream createStream( + protected PortAudioStream createStream( int streamIndex, FormatControl formatControl) { diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/PortAudioStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/PortAudioStream.java index cfcbb3ba48de9e423be34f6940ce22170d5d17b9..5b7a149a7aee74000c5c6838eaf435887b34d487 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/PortAudioStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/portaudio/PortAudioStream.java @@ -28,7 +28,7 @@ * @author Lyubomir Marinov */ public class PortAudioStream - extends AbstractPullBufferStream + extends AbstractPullBufferStream<DataSource> { /** * The <tt>Logger</tt> used by the <tt>PortAudioStream</tt> class and its diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/pulseaudio/DataSource.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/pulseaudio/DataSource.java index 5f3b9120a2314a0b3795e79536abae3fd451dede..13b11bcc2c33c397851e4a2350c48c5d20473455 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/pulseaudio/DataSource.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/pulseaudio/DataSource.java @@ -82,7 +82,7 @@ public class DataSource * API/library. */ private class PulseAudioStream - extends AbstractPullBufferStream + extends AbstractPullBufferStream<DataSource> { private byte[] buffer; @@ -608,7 +608,7 @@ public DataSource() * {@inheritDoc} */ @Override - protected AbstractPullBufferStream createStream( + protected PulseAudioStream createStream( int streamIndex, FormatControl formatControl) { diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/DataSource.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/DataSource.java index 01ceb387f11a88a10cd01dc2b2d338754da1291b..adbeac7147c118fdcaac947c4644ac9c357d98d5 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/DataSource.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/DataSource.java @@ -193,7 +193,7 @@ public float setFrameRate(float frameRate) * @see AbstractPushBufferCaptureDevice#createStream(int, FormatControl) */ @Override - protected AbstractPushBufferStream createStream( + protected QuickTimeStream createStream( int streamIndex, FormatControl formatControl) { diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/QuickTimeStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/QuickTimeStream.java index 44dc514ff6dd1dc0f48fa0e4a8afd4c9482afcf1..9a26dd4f8305a6f80f191fb97f132c15e1528266 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/QuickTimeStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/quicktime/QuickTimeStream.java @@ -26,7 +26,7 @@ * @author Lyubomir Marinov */ public class QuickTimeStream - extends AbstractPushBufferStream + extends AbstractPushBufferStream<DataSource> { /** diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java index a9ec5eea7d576f60dbdfe0712d24113866a9d746..2894aaebf017be09a09c34463c9d394a9bd96c5a 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/video4linux2/Video4Linux2Stream.java @@ -25,7 +25,7 @@ * @author Lyubomir Marinov */ public class Video4Linux2Stream - extends AbstractVideoPullBufferStream + extends AbstractVideoPullBufferStream<DataSource> { /** * The <tt>AVCodecContext</tt> of the MJPEG decoder. diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/wasapi/WASAPIStream.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/wasapi/WASAPIStream.java index 3321155b742901e785c6d0ceafb2e08a55632fd3..c60e837d28601cd7b6b7d961e9535d857c1c6168 100644 --- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/wasapi/WASAPIStream.java +++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/wasapi/WASAPIStream.java @@ -30,7 +30,7 @@ * @author Lyubomir Marinov */ public class WASAPIStream - extends AbstractPushBufferStream + extends AbstractPushBufferStream<DataSource> { /** * The default duration of the audio data in milliseconds to be read from diff --git a/src/org/jitsi/impl/neomedia/protocol/FakePushBufferDataSource.java b/src/org/jitsi/impl/neomedia/protocol/FakePushBufferDataSource.java index 62aa6ed326791512b92976797666cbef3e0da146..54657e3287f4e3c6fd11103b2c54ad8fd392414b 100644 --- a/src/org/jitsi/impl/neomedia/protocol/FakePushBufferDataSource.java +++ b/src/org/jitsi/impl/neomedia/protocol/FakePushBufferDataSource.java @@ -81,7 +81,7 @@ public void connect() * information abstracted by the specified <tt>formatControl</tt> */ @Override - protected AbstractPushBufferStream createStream( + protected FakePushBufferStream createStream( int streamIndex, FormatControl formatControl) { @@ -176,7 +176,7 @@ public void stop() * <tt>FakePushBufferDataSource</tt>. */ private static class FakePushBufferStream - extends AbstractPushBufferStream + extends AbstractPushBufferStream<FakePushBufferDataSource> { /** * Initializes a new <tt>FakePushBufferStream</tt> instance which is to