static ShortIterator decodeOpusStream(S url) throws IOException { temp var in = httpInputStream(audioURL); temp OpusMachine machine = new(in); ret new ShortIterator { int val = Int.MAX_VALUE; abstract bool hasNext() { if (val == Int.MAX_VALUE) val = machine!; ret val != Int.MIN_VALUE; } abstract short next() { if (!hasNext()) fail("No such element"); var v = val; val = Int.MAX_VALUE; ret (short) v; } }; }() { }