[Bug 748316] hlsdemux: The end offset (range_end) of a segment is not calculated properly in the m3u8 parser
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Mon Apr 27 04:37:37 PDT 2015
https://bugzilla.gnome.org/show_bug.cgi?id=748316
--- Comment #19 from Stavros <stavrosv at digisoft.tv> ---
Created attachment 302437
--> https://bugzilla.gnome.org/attachment.cgi?id=302437&action=edit
Revised solution for souphttpsrc according to review comments
(In reply to Sebastian Dröge (slomo) from comment #17)
> Review of attachment 302304 [details] [review]:
>
> ::: ext/soup/gstsouphttpsrc.c
> @@ +1920,3 @@
> /* Wait for create() to handle the jump in offset. */
> src->request_position = segment->start;
> + src->stop_position = segment->stop - 1;
>
> This is not correct yet. segment->stop can be GST_CLOCK_TIME_NONE, in which
> case it should stay as that. And src->stop_position is compared against
> segment->stop a few lines above, which will now always fail.
This revised patch is according to the comment above. It's for the master. If
everything is ok, I will add one for the 1.4 branch.
I added the other patches as well, the one for hlsdemux and the segment, for my
testing.
I have made the following tests
- Test hlsdemux with filesrc. Run the gst-launch-1.0 filesrc
location=master.m3u8 ! hlsdemux ! filesink location=out_stream.ts and the
in_stream.ts was the same with the out_stream.ts
- Test hlsdemux with souphttpsrc. Serve the same stream from an http server on
my machine. Run the gst-launch-1.0 souphttpsrc
"location=http://127.0.0.1/master.m3ua" ! hlsdemux ! filesink
location=out_stream.ts. Again the out_stream was the same with the in_stream.ts
- Test qtdemux with filesrc. Run the gst-launch-1.0 filesrc
location=trailer.mp4 ! qtdemux name=demux demux.video_0 ! queue ! mux.video_0
demux.audio_0 ! queue ! mux.audio_0 qtmux name=mux ! filesink
location=out.mp4. The out.mp4 was not similar, but this was expected. I could
playback with no issues.
- Test qtdemux with souphttpsrc. Run gst-launch-1.0 souphttpsrc
"location=http://media.w3.org/2010/05/sintel/trailer.mp4" ! qtdemux name=demux
demux.video_0 ! queue ! mux.video_0 demux.audio_0 ! queue ! mux.audio_0 qtmux
name=mux ! filesink location=out.mp4. Again the out.mp4 was not the same with
the initial stream. I could playback with no issues.
For my testing regarding the qtdemux(filesrc and souphttpsrc), I used this file
http://media.w3.org/2010/05/sintel/trailer.mp4.
--
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