server doesn't support seeking

Adam Puckett adotsdothmusic at gmail.com
Fri Jul 17 04:24:50 PDT 2015


Am I using an outdated version of souphttpsrc? Its properties don't
match the documentation:
gst-inspect-1.0 souphttpsrc
Factory Details:
  Rank                     primary (256)
  Long-name                HTTP client source
  Klass                    Source/Network
  Description              Receive data as a client over the network
via HTTP using SOUP
  Author                   Wouter Cloetens <wouter at mind.be>

Plugin Details:
  Name                     soup
  Description              libsoup HTTP client src/sink
  Filename
c:\gstreamer\1.0\x86_64\lib\gstreamer-1.0\libgstsouphttpsrc.dll
  Version                  1.5.2
  License                  LGPL
  Source module            gst-plugins-good
  Source release date      2015-06-24
  Binary package           GStreamer Good Plug-ins source release
  Origin URL               Unknown package origin

GObject
 +----GInitiallyUnowned
       +----GstObject
             +----GstElement
                   +----GstBaseSrc
                         +----GstPushSrc
                               +----GstSoupHTTPSrc

Implemented Interfaces:
  GstURIHandler

Pad Templates:
  SRC template: 'src'
    Availability: Always
    Capabilities:
      ANY


Element Flags:
  no flags set

Element Implementation:
  Has change_state() function: gst_soup_http_src_change_state

Element has no clocking capabilities.

URI handling capabilities:
  Element can act as source.
  Supported URI protocols:
    http
    https
    icy
    icyx

Pads:
  SRC: 'src'
    Pad Template: 'src'

Element Properties:
  name                : The name of the object
                        flags: readable, writable
                        String. Default: "souphttpsrc0"
  parent              : The parent of the object
                        flags: readable, writable
                        Object of type "GstObject"
  blocksize           : Size in bytes to read per buffer (-1 = default)
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 4294967295 Default: 4096
  num-buffers         : Number of buffers to output before sending EOS
(-1 = unlimited)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: -1
  typefind            : Run typefind before negotiating
                        flags: readable, writable
                        Boolean. Default: false
  do-timestamp        : Apply current stream time to buffers
                        flags: readable, writable
                        Boolean. Default: false
  location            : Location to read from
                        flags: readable, writable
                        String. Default: null
  is-live             : Act like a live source
                        flags: readable, writable
                        Boolean. Default: false
  user-agent          : Value of the User-Agent HTTP request header field
                        flags: readable, writable
                        String. Default: "GStreamer souphttpsrc "
  automatic-redirect  : Automatically follow HTTP redirects (HTTP
Status Code 3xx)
                        flags: readable, writable
                        Boolean. Default: true
  proxy               : HTTP proxy server URI
                        flags: readable, writable
                        String. Default: ""
  user-id             : HTTP location URI user id for authentication
                        flags: readable, writable
                        String. Default: null
  user-pw             : HTTP location URI user password for authentication
                        flags: readable, writable
                        String. Default: null
  proxy-id            : HTTP proxy URI user id for authentication
                        flags: readable, writable
                        String. Default: null
  proxy-pw            : HTTP proxy URI user password for authentication
                        flags: readable, writable
                        String. Default: null
  cookies             : HTTP request cookies
                        flags: readable, writable
                        Boxed pointer of type "GStrv"
  iradio-mode         : Enable internet radio mode (ask server to send
shoutcast/icecast metadata interleaved with the actual stream data)
                        flags: readable, writable
                        Boolean. Default: true
  timeout             : Value in seconds to timeout a blocking I/O (0
= No timeout).
                        flags: readable, writable
                        Unsigned Integer. Range: 0 - 3600 Default: 15
  extra-headers       : Extra headers to append to the HTTP request
                        flags: readable, writable
                        Boxed pointer of type "GstStructure"
  http-log-level      : Set log level for soup's HTTP session log
                        flags: readable, writable
                        Enum "SoupLoggerLogLevel" Default: 2, "headers"
                           (0): none             - SOUP_LOGGER_LOG_NONE
                           (1): minimal          - SOUP_LOGGER_LOG_MINIMAL
                           (2): headers          - SOUP_LOGGER_LOG_HEADERS
                           (3): body             - SOUP_LOGGER_LOG_BODY
  compress            : Allow compressed content encodings
                        flags: readable, writable
                        Boolean. Default: false
  keep-alive          : Use HTTP persistent connections
                        flags: readable, writable
                        Boolean. Default: false
  ssl-strict          : Strict SSL certificate checking
                        flags: readable, writable
                        Boolean. Default: true
  ssl-ca-file         : Location of a SSL anchor CA file to use
                        flags: readable, writable
                        String. Default: null
  ssl-use-system-ca-file: Use system CA file
                        flags: readable, writable
                        Boolean. Default: true
  tls-database        : TLS database with anchor certificate
authorities used to validate the server certificate
                        flags: readable, writable
                        Object of type "GTlsDatabase"
  retries             : Maximum number of retries until giving up (-1=infinite)
                        flags: readable, writable
                        Integer. Range: -1 - 2147483647 Default: 3

http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-good-plugins/html/gst-plugins-good-plugins-souphttpsrc.html

doesn't mention a 'blocksize' property, which I have a hunch I will
need to synchronize with my server's acceptance of the range header.

On 7/17/15, Justin Kim <justin.joy.9to5 at gmail.com> wrote:
> I think you already got the answer. If not, you should find the answer in
> your server implementation, not gstreamer. :)
>
> The header from your server should be like this.
>
> HTTP/1.1 206 Partial Content
> Content-Range: bytes 100-200/500
>
>
> basically, if server can response with "Partial Content", souphttpsrc will
> recognize your sever supports seek.
>
>
> Thanks,
> Justin
>
>
>
>
>
>
>
> --
> View this message in context:
> http://gstreamer-devel.966125.n4.nabble.com/server-doesn-t-support-seeking-tp4672690p4672699.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>


More information about the gstreamer-devel mailing list