diff options
author | David Schleef <david.schleef@rd.io> | 2013-11-11 13:21:45 -0800 |
---|---|---|
committer | David Schleef <david.schleef@rd.io> | 2013-11-17 14:28:00 -0800 |
commit | 3c3e7335995ae5b50fe6b4c53ee6039e519c728c (patch) | |
tree | 7da5c355a9de577f271ddade1b2c8f0c6defccce | |
parent | 36a1d97d4e76c5234bcf303bd32ba52a66a4d0c0 (diff) |
adaptive: check version in manifest
-rw-r--r-- | gst-streaming-server/gss-adaptive.c | 8 |
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); |