Skip to content

Commit 9d6b073

Browse files
committed
fix #3
1 parent 5b348eb commit 9d6b073

2 files changed

Lines changed: 15 additions & 2 deletions

File tree

src/main/java/com/github/squi2rel/vp/VideoPlayerMain.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@
2020
import org.slf4j.Logger;
2121
import org.slf4j.LoggerFactory;
2222

23+
import java.util.concurrent.Executors;
24+
import java.util.concurrent.ScheduledExecutorService;
25+
2326
public class VideoPlayerMain implements ModInitializer {
2427
public static final String MOD_ID = "videoplayer";
2528
public static final String version = FabricLoader.getInstance().getModContainer(MOD_ID).orElseThrow().getMetadata().getVersion().toString();
2629
public static Throwable error = null;
2730

2831
public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID);
2932

33+
public static ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1, VideoPlayerMain::newDaemon);
34+
3035
@SuppressWarnings("resource")
3136
@Override
3237
public void onInitialize() {
@@ -60,4 +65,10 @@ public void onInitialize() {
6065
return 1;
6166
}))));
6267
}
68+
69+
private static Thread newDaemon(Runnable task) {
70+
Thread t = new Thread(task);
71+
t.setDaemon(true);
72+
return t;
73+
}
6374
}

src/main/java/com/github/squi2rel/vp/video/VideoScreen.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.github.squi2rel.vp.video;
22

33
import com.github.squi2rel.vp.DataHolder;
4+
import com.github.squi2rel.vp.VideoPlayerMain;
45
import com.github.squi2rel.vp.network.ByteBufUtils;
56
import com.github.squi2rel.vp.network.ServerPacketHandler;
67
import com.github.squi2rel.vp.provider.NamedProviderSource;
@@ -12,6 +13,7 @@
1213

1314
import java.util.*;
1415
import java.util.concurrent.CompletableFuture;
16+
import java.util.concurrent.TimeUnit;
1517
import java.util.concurrent.locks.ReentrantLock;
1618

1719
import static com.github.squi2rel.vp.DataHolder.server;
@@ -196,12 +198,12 @@ public synchronized void playNext() {
196198
if (s == null) return;
197199
synchronized (this) {
198200
nextTask = null;
199-
s.stopped(() -> {
201+
s.stopped(() -> VideoPlayerMain.scheduler.schedule(() -> {
200202
lock();
201203
infos.poll();
202204
unlock();
203205
playNext();
204-
});
206+
}, 2, TimeUnit.SECONDS));
205207
s.listen();
206208
}
207209
});

0 commit comments

Comments
 (0)