After er.. 'taking a look' to some classes in the emulator and I think that this control is only used to reset the position of the stream at the begining. Take a look at this code so you could get the idea:
Code:
SourceStreamReader:
javax.microedition.media.Control control = iControllable.getControl("SeekControl");
if(control != null)
(new SeekThread(iWaitObject, (SeekControl)control)).start();
SeekThread:
try {
iSeekControl.seek(0);
} catch(Exception exception) { }
Also the getControl("SeekControl") is called when the stream is closed to close the control so this is why are you getting a call after consuming all the data on the stream.
Code:
javax.microedition.media.Control control = iControllable.getControl("SeekControl");
if(control != null) {
SeekControl sc = (SeekControl)control;
sc.close();
}
and the interface:
Code:
public interface SeekControl extends Control {
public abstract void seek(int i) throws IOException;
public abstract void close();
}
I do not know how accurate is this information but is what I found digging a bit.