[Bug 754575] trick modes in gst-rtsp-server
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Tue Dec 6 11:11:48 UTC 2016
https://bugzilla.gnome.org/show_bug.cgi?id=754575
--- Comment #18 from Branko Subasic <branko.subasic at axis.com> ---
(In reply to Nikita Bobkov from comment #17)
> Review of attachment 339331 [details] [review]:
>
> ::: gst/rtsp-server/rtsp-client.c
> @@ +1181,3 @@
> static GstRTSPStatusCode
> +default_adjust_play_mode (GstRTSPClient * client, GstRTSPContext * ctx,
> + GstRTSPTimeRange * range, gdouble * scale, gdouble * speed, gdouble *
> rate,
>
> How about passing range by pointer to pointer? This would allow us to "fix"
> range if it is missing. VLC likes to send PLAY request with Scale header but
> without Range header.
That's a good idea I guess.
> @@ +1184,3 @@
> + GstSeekFlags * flags)
> +{
> + /* FIXME: How to handle the Scale header?
>
> According to standard we have to transcode but this usually is not an option
> at least for me due to performance issues. For now I send all frames as they
> are and switch to key frames only mode when the scale is high enough. VLC
> seems to be satisfied with this approach.
Well, the Scale header is supposed to increase the viewing rate (assuming it's
> 1) but maintain the data rate. By just sending the all data we're not really
Scaling anything.
Moreover, how to decide what's a high enough Scale value to trigger the
key-frames-only approach? By making the function virtual an implementation can
decide what's appropriate in it's context.
> @@ +1202,3 @@
> +
> + /* as for the speed header, just map it to rate */
> + * For formats with delta units, like h264, we could perhaps drop
>
> But RTP timestamps are calculated directly from running time (if this hasn't
> changed since 1.4.5). This means RTP stream will look like it has scale
> applied to it instead of speed except its bitrate will be multiplied by rate.
I don't quite follow here. As far as I understand the whole purpose of the
Speed header is so the client can decide the viewing rate.
The following is from RFC2326:
"Use of this field changes the bandwidth used for data delivery. It is
meant for use in specific circumstances where preview of the
presentation at a higher or lower rate is necessary."
Isn't that what the patch does? Affects the viewing rate?
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list