[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