summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Schleef <david.schleef@rd.io>2013-11-11 13:21:45 -0800
committerDavid Schleef <david.schleef@rd.io>2013-11-17 14:28:00 -0800
commit3c3e7335995ae5b50fe6b4c53ee6039e519c728c (patch)
tree7da5c355a9de577f271ddade1b2c8f0c6defccce
parent36a1d97d4e76c5234bcf303bd32ba52a66a4d0c0 (diff)
adaptive: check version in manifest
-rw-r--r--gst-streaming-server/gss-adaptive.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gst-streaming-server/gss-adaptive.c b/gst-streaming-server/gss-adaptive.c
index 111ae91..9ba0864 100644
--- a/gst-streaming-server/gss-adaptive.c
+++ b/gst-streaming-server/gss-adaptive.c
@@ -895,7 +895,8 @@ create_key_id (const char *key_string)
}
static gboolean
-parse_json (GssAdaptive * adaptive, JsonParser * parser, const char *dir)
+parse_json (GssAdaptive * adaptive, JsonParser * parser, const char *dir,
+ const char *requested_version)
{
JsonNode *node;
JsonObject *obj;
@@ -942,6 +943,9 @@ parse_json (GssAdaptive * adaptive, JsonParser * parser, const char *dir)
if (version_string == NULL)
return FALSE;
+ if (strcmp (version_string, requested_version) != 0)
+ continue;
+
n = json_object_get_member (obj, "files");
if (n == NULL)
return FALSE;
@@ -1025,7 +1029,7 @@ gss_adaptive_load (GssServer * server, const char *key, const char *dir,
gss_playready_generate_key (server->playready, adaptive->content_key,
adaptive->kid, adaptive->kid_len);
- ret = parse_json (adaptive, parser, dir);
+ ret = parse_json (adaptive, parser, dir, version);
if (!ret) {
gss_adaptive_free (adaptive);
g_object_unref (parser);