46 lines
1.2 KiB
Java
46 lines
1.2 KiB
Java
package okio;
|
|
|
|
import android.support.v4.media.session.PlaybackStateCompat;
|
|
|
|
/* loaded from: classes2.dex */
|
|
final class SegmentPool {
|
|
static final long MAX_SIZE = 65536;
|
|
static long byteCount;
|
|
static Segment next;
|
|
|
|
private SegmentPool() {
|
|
}
|
|
|
|
static void recycle(Segment segment) {
|
|
if (segment.next != null || segment.prev != null) {
|
|
throw new IllegalArgumentException();
|
|
}
|
|
if (segment.shared) {
|
|
return;
|
|
}
|
|
synchronized (SegmentPool.class) {
|
|
if (byteCount + PlaybackStateCompat.ACTION_PLAY_FROM_URI > 65536) {
|
|
return;
|
|
}
|
|
byteCount += PlaybackStateCompat.ACTION_PLAY_FROM_URI;
|
|
segment.next = next;
|
|
segment.limit = 0;
|
|
segment.pos = 0;
|
|
next = segment;
|
|
}
|
|
}
|
|
|
|
static Segment take() {
|
|
synchronized (SegmentPool.class) {
|
|
if (next == null) {
|
|
return new Segment();
|
|
}
|
|
Segment segment = next;
|
|
next = segment.next;
|
|
segment.next = null;
|
|
byteCount -= PlaybackStateCompat.ACTION_PLAY_FROM_URI;
|
|
return segment;
|
|
}
|
|
}
|
|
}
|