diff --git a/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java b/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java index 6b745f4a..a43f9332 100644 --- a/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java +++ b/src/main/java/ctbrec/sites/camsoda/CamsodaUpdateService.java @@ -59,26 +59,37 @@ public class CamsodaUpdateService extends PaginatedScheduledService { String streamName = tpl.getString(5); String tsize = tpl.getString(6); String serverPrefix = tpl.getString(7); - JSONArray edgeServers = result.getJSONArray("edge_servers"); CamsodaModel model = (CamsodaModel) camsoda.createModel(name); model.setDescription(tpl.getString(4)); - model.setStreamUrl("https://" + edgeServers.getString(0) + "/cam/mp4:" + streamName + "_h264_aac_480p/playlist.m3u8"); model.setSortOrder(tpl.getFloat(3)); long unixtime = System.currentTimeMillis() / 1000; String preview = "https://thumbs-orig.camsoda.com/thumbs/" + streamName + '/' + serverPrefix + '/' + tsize + '/' + unixtime + '/' + name + ".jpg?cb=" + unixtime; model.setPreview(preview); + if(result.has("edge_servers")) { + JSONArray edgeServers = result.getJSONArray("edge_servers"); + model.setStreamUrl("https://" + edgeServers.getString(0) + "/cam/mp4:" + streamName + "_h264_aac_480p/playlist.m3u8"); + } models.add(model); } else { //LOG.debug("{}", result.toString(2)); String name = result.getString("username"); CamsodaModel model = (CamsodaModel) camsoda.createModel(name); + if(result.has("server_prefix")) { String serverPrefix = result.getString("server_prefix"); String streamName = result.getString("stream_name"); - JSONArray edgeServers = result.getJSONArray("edge_servers"); - model.setStreamUrl("https://" + edgeServers.getString(0) + "/cam/mp4:" + streamName + "_h264_aac_480p/playlist.m3u8"); + model.setSortOrder(result.getFloat("sort_value")); + models.add(model); + if(result.has("status")) { + model.setOnlineState(result.getString("status")); + } + + if(result.has("edge_servers")) { + JSONArray edgeServers = result.getJSONArray("edge_servers"); + model.setStreamUrl("https://" + edgeServers.getString(0) + "/cam/mp4:" + streamName + "_h264_aac_480p/playlist.m3u8"); + } if(result.has("tsize")) { long unixtime = System.currentTimeMillis() / 1000; @@ -88,11 +99,6 @@ public class CamsodaUpdateService extends PaginatedScheduledService { model.setPreview(preview); } - model.setSortOrder(result.getFloat("sort_value")); - models.add(model); - if(result.has("status")) { - model.setOnlineState(result.getString("status")); - } } } }