From a0b4b146457ee7f757fa2b0fc2a861f32f9a24f6 Mon Sep 17 00:00:00 2001 From: Alexander Matveev Date: Mon, 19 Aug 2019 19:19:30 -0700 Subject: [PATCH 1/4] 8227473: Improve gstreamer media support Reviewed-by: kcr, rhalade --- .../gst-plugins-bad/gst/aiff/aiffparse.c | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-bad/gst/aiff/aiffparse.c b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-bad/gst/aiff/aiffparse.c index d0da8a433db..5e16fac6f72 100644 --- a/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-bad/gst/aiff/aiffparse.c +++ b/modules/javafx.media/src/main/native/gstreamer/gstreamer-lite/gst-plugins-bad/gst/aiff/aiffparse.c @@ -643,7 +643,11 @@ gst_aiff_parse_calculate_duration (GstAiffParse * aiff) return FALSE; } +#ifdef GSTREAMER_LITE +static gboolean +#else static void +#endif gst_aiff_parse_ignore_chunk (GstAiffParse * aiff, guint32 tag, guint32 size) { #ifdef GSTREAMER_LITE @@ -654,7 +658,11 @@ gst_aiff_parse_ignore_chunk (GstAiffParse * aiff, guint32 tag, guint32 size) if (aiff->streaming) { if (!gst_aiff_parse_peek_chunk (aiff, &tag, &size)) +#ifdef GSTREAMER_LITE + return FALSE; +#else return; +#endif } GST_WARNING_OBJECT (aiff, "Ignoring tag %" GST_FOURCC_FORMAT, GST_FOURCC_ARGS (tag)); @@ -667,6 +675,10 @@ gst_aiff_parse_ignore_chunk (GstAiffParse * aiff, guint32 tag, guint32 size) if (aiff->streaming) { gst_adapter_flush (aiff->adapter, flush); } + +#ifdef GSTREAMER_LITE + return TRUE; +#endif } static double @@ -1124,11 +1136,23 @@ gst_aiff_parse_stream_headers (GstAiffParse * aiff) } case GST_MAKE_FOURCC ('C', 'H', 'A', 'N'):{ GST_FIXME_OBJECT (aiff, "Handle CHAN chunk with channel layouts"); +#ifdef GSTREAMER_LITE + if (!gst_aiff_parse_ignore_chunk (aiff, tag, size)) { + return GST_FLOW_OK; + } +#else gst_aiff_parse_ignore_chunk (aiff, tag, size); +#endif break; } default: +#ifdef GSTREAMER_LITE + if (!gst_aiff_parse_ignore_chunk (aiff, tag, size)) { + return GST_FLOW_OK; + } +#else gst_aiff_parse_ignore_chunk (aiff, tag, size); +#endif } buf = NULL; From 81f7738e4887278d7d1299d3b98393b48943908c Mon Sep 17 00:00:00 2001 From: Kevin Rushforth Date: Wed, 16 Oct 2019 18:13:04 +0000 Subject: [PATCH 2/4] 8232121: Better numbering system Reviewed-by: rhalade, ghb --- .../native/Source/ThirdParty/libxslt/src/libxslt/numbers.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c index 3a7383e9ce2..7b0f494a24f 100644 --- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c +++ b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c @@ -382,6 +382,9 @@ xsltNumberFormatTokenize(const xmlChar *format, tokens->tokens[tokens->nTokens].token = val - 1; ix += len; val = xmlStringCurrentChar(NULL, format+ix, &len); + } else { + tokens->tokens[tokens->nTokens].token = (xmlChar)'0'; + tokens->tokens[tokens->nTokens].width = 1; } } else if ( (val == (xmlChar)'A') || (val == (xmlChar)'a') || From 2d2b824447efe62420bb5d19cd8b450dddb7f80c Mon Sep 17 00:00:00 2001 From: Kevin Rushforth Date: Wed, 16 Oct 2019 18:15:36 +0000 Subject: [PATCH 3/4] 8232128: Better formatting for numbers Reviewed-by: rhalade, ghb --- .../native/Source/ThirdParty/libxslt/src/libxslt/numbers.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c index 7b0f494a24f..7fb487a4ed1 100644 --- a/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c +++ b/modules/javafx.web/src/main/native/Source/ThirdParty/libxslt/src/libxslt/numbers.c @@ -1277,13 +1277,14 @@ xsltFormatNumberConversion(xsltDecimalFormatPtr self, number = floor((scale * number + 0.5)) / scale; if ((self->grouping != NULL) && (self->grouping[0] != 0)) { + int gchar; len = xmlStrlen(self->grouping); - pchar = xsltGetUTF8Char(self->grouping, &len); + gchar = xsltGetUTF8Char(self->grouping, &len); xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0], format_info.integer_digits, format_info.group, - pchar, len); + gchar, len); } else xsltNumberFormatDecimal(buffer, floor(number), self->zeroDigit[0], format_info.integer_digits, From 962bdd1bc5f257e5dbf211d4e9834e5516bd3bac Mon Sep 17 00:00:00 2001 From: Kevin Rushforth Date: Wed, 16 Oct 2019 18:17:32 +0000 Subject: [PATCH 4/4] 8232214: Improved internal validations Reviewed-by: ghb, rhalade --- .../src/main/native/Source/ThirdParty/sqlite/sqlite3.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/javafx.web/src/main/native/Source/ThirdParty/sqlite/sqlite3.c b/modules/javafx.web/src/main/native/Source/ThirdParty/sqlite/sqlite3.c index 85ce173f842..b894ffe0815 100644 --- a/modules/javafx.web/src/main/native/Source/ThirdParty/sqlite/sqlite3.c +++ b/modules/javafx.web/src/main/native/Source/ThirdParty/sqlite/sqlite3.c @@ -105489,7 +105489,9 @@ static void decodeIntArray( if( sqlite3_strglob("unordered*", z)==0 ){ pIndex->bUnordered = 1; }else if( sqlite3_strglob("sz=[0-9]*", z)==0 ){ - pIndex->szIdxRow = sqlite3LogEst(sqlite3Atoi(z+3)); + int sz = sqlite3Atoi(z+3); + if( sz<2 ) sz = 2; + pIndex->szIdxRow = sqlite3LogEst(sz); }else if( sqlite3_strglob("noskipscan*", z)==0 ){ pIndex->noSkipScan = 1; } @@ -142704,6 +142706,7 @@ static int whereLoopAddBtreeIndex( ** it to pNew->rRun, which is currently set to the cost of the index ** seek only. Then, if this is a non-covering index, add the cost of ** visiting the rows in the main table. */ + assert( pSrc->pTab->szTabRow>0 ); rCostIdx = pNew->nOut + 1 + (15*pProbe->szIdxRow)/pSrc->pTab->szTabRow; pNew->rRun = sqlite3LogEstAdd(rLogSize, rCostIdx); if( (pNew->wsFlags & (WHERE_IDX_ONLY|WHERE_IPK))==0 ){