diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferCaptureDevice.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferCaptureDevice.java
index 2151934d394ba26138427cb61fb094ba85c682dc..59b78291464a96bf3eefb1650f380430652eb9d2 100644
--- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferCaptureDevice.java
+++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractBufferCaptureDevice.java
@@ -33,7 +33,7 @@
  * @author Lyubomir Marinov
  */
 public abstract class AbstractBufferCaptureDevice
-        <AbstractBufferStreamT extends AbstractBufferStream>
+        <AbstractBufferStreamT extends AbstractBufferStream<?>>
     implements CaptureDevice,
                Controls
 {
@@ -92,7 +92,7 @@ public abstract class AbstractBufferCaptureDevice
      * it is to be synchronized with sync root <tt>this</tt>.
      * </p>
      */
-    private AbstractBufferStream[] streams;
+    private AbstractBufferStream<?>[] streams;
 
     /**
      * Opens a connection to the media source of this
@@ -286,8 +286,10 @@ final void defaultDoStart()
         throws IOException
     {
         if (streams != null)
-            for (AbstractBufferStream stream : streams)
+        {
+            for (AbstractBufferStream<?> stream : streams)
                 stream.start();
+        }
     }
 
     /**
@@ -302,8 +304,10 @@ final void defaultDoStop()
         throws IOException
     {
         if (streams != null)
-            for (AbstractBufferStream stream : streams)
+        {
+            for (AbstractBufferStream<?> stream : streams)
                 stream.stop();
+        }
     }
 
     /**
@@ -621,7 +625,9 @@ SourceStreamT[] getStreams(Class<SourceStreamT> clz)
                  * started.
                  */
                 if (started)
-                    for (AbstractBufferStream stream : streams)
+                {
+                    for (AbstractBufferStream<?> stream : streams)
+                    {
                         try
                         {
                             stream.start();
@@ -630,6 +636,8 @@ SourceStreamT[] getStreams(Class<SourceStreamT> clz)
                         {
                             throw new UndeclaredThrowableException(ioex);
                         }
+                    }
+                }
             }
         }
 
@@ -681,7 +689,7 @@ private Format internalGetFormat(int streamIndex, Format oldValue)
         {
             if (streams != null)
             {
-                AbstractBufferStream stream = streams[streamIndex];
+                AbstractBufferStream<?> stream = streams[streamIndex];
 
                 if (stream != null)
                 {
@@ -782,7 +790,7 @@ private Format internalSetFormat(
         {
             if (streams != null)
             {
-                AbstractBufferStream stream = streams[streamIndex];
+                AbstractBufferStream<?> stream = streams[streamIndex];
 
                 if (stream != null)
                     return stream.internalSetFormat(newValue);
@@ -865,7 +873,7 @@ public synchronized void stop()
      * which this <tt>AbstractBufferCaptureDevice</tt> gives access to its media
      * data
      */
-    AbstractBufferStream[] streams()
+    AbstractBufferStream<?>[] streams()
     {
         return streams;
     }
diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferCaptureDevice.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferCaptureDevice.java
index 24f7527917b92d360548d7c6515540c0a0aa57b2..3676036211d636c5c7e69d95fe5304ce0873df06 100644
--- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferCaptureDevice.java
+++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPullBufferCaptureDevice.java
@@ -33,8 +33,8 @@ public abstract class AbstractPullBufferCaptureDevice
      * The <tt>AbstractBufferCaptureDevice</tt> which provides the
      * implementation of this <tt>AbstractPullBufferCaptureDevice</tt>.
      */
-    private final AbstractBufferCaptureDevice<AbstractPullBufferStream> impl
-        = new AbstractBufferCaptureDevice<AbstractPullBufferStream>()
+    private final AbstractBufferCaptureDevice<AbstractPullBufferStream<?>> impl
+        = new AbstractBufferCaptureDevice<AbstractPullBufferStream<?>>()
         {
             @Override
             protected FrameRateControl createFrameRateControl()
@@ -45,7 +45,7 @@ protected FrameRateControl createFrameRateControl()
             }
 
             @Override
-            protected AbstractPullBufferStream createStream(
+            protected AbstractPullBufferStream<?> createStream(
                     int streamIndex,
                     FormatControl formatControl)
             {
@@ -182,7 +182,7 @@ protected FrameRateControl createFrameRateControl()
      * <tt>PullBufferDataSource</tt> and which has its <tt>Format</tt>-related
      * information abstracted by the specified <tt>formatControl</tt>
      */
-    protected abstract AbstractPullBufferStream createStream(
+    protected abstract AbstractPullBufferStream<?> createStream(
             int streamIndex,
             FormatControl formatControl);
 
@@ -487,7 +487,7 @@ public synchronized void stop()
      * which this <tt>AbstractPushBufferCaptureDevice</tt> gives access to its
      * media data
      */
-    protected AbstractBufferStream[] streams()
+    protected AbstractBufferStream<?>[] streams()
     {
         return impl.streams();
     }
diff --git a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferCaptureDevice.java b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferCaptureDevice.java
index 32c7ac3d4e90349431f83034e335a6bf3a766d4d..4abb85cd1360994e2f21e83cb2dc58cfeacc519d 100644
--- a/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferCaptureDevice.java
+++ b/src/org/jitsi/impl/neomedia/jmfext/media/protocol/AbstractPushBufferCaptureDevice.java
@@ -27,8 +27,8 @@ public abstract class AbstractPushBufferCaptureDevice
      * The <tt>AbstractBufferCaptureDevice</tt> which provides the
      * implementation of this <tt>AbstractPushBufferCaptureDevice</tt>.
      */
-    private final AbstractBufferCaptureDevice<AbstractPushBufferStream> impl
-        = new AbstractBufferCaptureDevice<AbstractPushBufferStream>()
+    private final AbstractBufferCaptureDevice<AbstractPushBufferStream<?>> impl
+        = new AbstractBufferCaptureDevice<AbstractPushBufferStream<?>>()
         {
             @Override
             protected FrameRateControl createFrameRateControl()
@@ -39,7 +39,7 @@ protected FrameRateControl createFrameRateControl()
             }
 
             @Override
-            protected AbstractPushBufferStream createStream(
+            protected AbstractPushBufferStream<?> createStream(
                     int streamIndex,
                     FormatControl formatControl)
             {
@@ -191,7 +191,7 @@ protected FrameRateControl createFrameRateControl()
      * <tt>PushBufferDataSource</tt> and which has its <tt>Format</tt>-related
      * information abstracted by the specified <tt>formatControl</tt>
      */
-    protected abstract AbstractPushBufferStream createStream(
+    protected abstract AbstractPushBufferStream<?> createStream(
             int streamIndex,
             FormatControl formatControl);
 
@@ -480,7 +480,7 @@ public void stop()
      * which this <tt>AbstractPushBufferCaptureDevice</tt> gives access to its
      * media data
      */
-    protected AbstractBufferStream[] streams()
+    protected AbstractBufferStream<?>[] streams()
     {
         return impl.streams();
     }