WebKit Bugzilla
Attachment 349161 Details for
Bug 189419
: [GStreamer] Fix overflow in buffered ranges
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-189419-20180907195907.patch (text/plain), 2.28 KB, created by
Alicia Boya García
on 2018-09-07 10:59:09 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Alicia Boya García
Created:
2018-09-07 10:59:09 PDT
Size:
2.28 KB
patch
obsolete
>Subversion Revision: 235628 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 8a8b6c14ad9a41efb2cd33d4b9425eef24c3c5ab..c11c3e3c9b15cf96967a9fa3f1f4f8aca2d1317c 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,19 @@ >+2018-09-07 Alicia Boya GarcÃa <aboya@igalia.com> >+ >+ [GStreamer] Fix overflow in buffered ranges >+ https://bugs.webkit.org/show_bug.cgi?id=189419 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Scale operations on big numbers (like media timestamps or durations) >+ should be made with GStreamer utility functions to avoid overflows. >+ >+ This fixes an assertion when a 24 hour long fragmented MP4 file is >+ played. >+ >+ * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: >+ (WebCore::MediaPlayerPrivateGStreamer::buffered const): >+ > 2018-09-03 Dean Jackson <dino@apple.com> > > Move SystemPreview code from WebKitAdditions to WebKit >diff --git a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp >index a36d1a4956743892fe6651e4f080cdea2c8dcc73..0389cda31848e9d890ddad0f153b9dec041b7a34 100644 >--- a/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp >+++ b/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp >@@ -1124,8 +1124,9 @@ std::unique_ptr<PlatformTimeRanges> MediaPlayerPrivateGStreamer::buffered() cons > for (guint index = 0; index < numBufferingRanges; index++) { > gint64 rangeStart = 0, rangeStop = 0; > if (gst_query_parse_nth_buffering_range(query, index, &rangeStart, &rangeStop)) { >- timeRanges->add(MediaTime(rangeStart * toGstUnsigned64Time(mediaDuration) / GST_FORMAT_PERCENT_MAX, GST_SECOND), >- MediaTime(rangeStop * toGstUnsigned64Time(mediaDuration) / GST_FORMAT_PERCENT_MAX, GST_SECOND)); >+ uint64_t startTime = gst_util_uint64_scale_int_round(toGstUnsigned64Time(mediaDuration), rangeStart, GST_FORMAT_PERCENT_MAX); >+ uint64_t stopTime = gst_util_uint64_scale_int_round(toGstUnsigned64Time(mediaDuration), rangeStop, GST_FORMAT_PERCENT_MAX); >+ timeRanges->add(MediaTime(startTime, GST_SECOND), MediaTime(stopTime, GST_SECOND)); > } > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 189419
: 349161