After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 755098 - uridecodebin: Smooth Streaming's media type does not match
uridecodebin: Smooth Streaming's media type does not match
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Windows
: Normal normal
: 1.5.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-09-16 08:16 UTC by WeiChungChang
Modified: 2015-09-16 18:03 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description WeiChungChang 2015-09-16 08:16:07 UTC
In gsturidecodebin.c, adaptive_media is judaged by following type:


/* media types that use adaptive streaming */
static const gchar *adaptive_media[] = {
  "application/x-hls", "application/x-smoothstreaming-manifest",
  "application/dash+xml", NULL
};

But in gsttypefindfunctions.c
Smooth Streaming is as below:

static GstStaticCaps mss_manifest_caps =
GST_STATIC_CAPS ("application/vnd.ms-sstr+xml");

If we compare the flow betweeen DASH & MSS, from the graph dump we could see 
DASH does NOT have Queue2 but MMS has.
It is because the following logic:

  if (decoder->is_adaptive) {
    src_elem = typefind;  ==> DASH
  } else {
    if (do_download) {
      elem_name = "downloadbuffer";
    } else {
      elem_name = "queue2";  ==> MSS
    }
  ... 

However, MSS indeed is a kind of "adaptive streaming" source.

It is because the media type mis-match.

We could fix it either by:

/* media types that use adaptive streaming */
static const gchar *adaptive_media[] = {
  "application/x-hls", /*"application/x-smoothstreaming-manifest",*/
  "application/dash+xml", "application/vnd.ms-sstr+xml", NULL
}; 
or replace "application/vnd.ms-sstr+xml" by "application/x-smoothstreaming-manifest".

It potentially mis-judge MSS as a "NON-adaptive-streaming" type.
Comment 1 Sebastian Dröge (slomo) 2015-09-16 08:37:52 UTC
Can you provide a patch (in git format-patch format) for gsturidecodebin.c to use the correct string?
Comment 2 Sebastian Dröge (slomo) 2015-09-16 17:54:55 UTC
commit 2a1e046dd9853fb13caf80e3b3bc11fbcae09d86
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Wed Sep 16 19:53:35 2015 +0200

    uridecodebin: Use the correct caps name for MS Smooth Streaming manifests
    
    Thanks to John Chang <r97922153@gmail.com> for reporting.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=755098