Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Apr 2014 07:51:23 GMT
From:      svn-freebsd-gecko@chruetertee.ch
To:        freebsd-gecko@freebsd.org
Subject:   [SVN-Commit] r1581 - in trunk: Mk/Uses mail/linux-thunderbird mail/thunderbird mail/thunderbird-i18n www/firefox www/firefox-i18n www/firefox-nightly www/firefox-nightly/files www/firefox/files www/linux-firefox www/linux-seamonkey www/seamonkey www/seamonkey-i18n
Message-ID:  <201404290751.s3T7pNNX054920@trillian.chruetertee.ch>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Tue Apr 29 07:51:23 2014
New Revision: 1581

Log:
update

Added:
   trunk/www/firefox/files/patch-bug981348
   trunk/www/firefox/files/patch-bug983957
Deleted:
   trunk/www/firefox/files/patch-bug783463
   trunk/www/firefox/files/patch-bug806917
   trunk/www/firefox/files/patch-bug973744
   trunk/www/firefox/files/patch-bug975634
   trunk/www/firefox/files/patch-bug977457
   trunk/www/firefox/files/patch-bug985848
   trunk/www/firefox/files/patch-bug989112
   trunk/www/firefox/files/patch-ipc-chromium-src-base-message_pump_libevent.cc
Modified:
   trunk/Mk/Uses/gecko.mk
   trunk/mail/linux-thunderbird/Makefile
   trunk/mail/linux-thunderbird/distinfo
   trunk/mail/thunderbird-i18n/Makefile
   trunk/mail/thunderbird-i18n/distinfo
   trunk/mail/thunderbird/Makefile
   trunk/mail/thunderbird/distinfo
   trunk/www/firefox-i18n/Makefile
   trunk/www/firefox-i18n/distinfo
   trunk/www/firefox-nightly/Makefile
   trunk/www/firefox-nightly/Makefile.hgrev
   trunk/www/firefox-nightly/distinfo
   trunk/www/firefox-nightly/files/patch-z-bug517422
   trunk/www/firefox/Makefile
   trunk/www/firefox/distinfo
   trunk/www/firefox/files/patch-bug847568
   trunk/www/firefox/files/patch-clang34-disable-stdcall
   trunk/www/firefox/files/patch-ipc-chromium-Makefile.in
   trunk/www/firefox/files/patch-z-bug517422
   trunk/www/linux-firefox/Makefile
   trunk/www/linux-firefox/distinfo
   trunk/www/linux-seamonkey/Makefile
   trunk/www/linux-seamonkey/distinfo
   trunk/www/seamonkey-i18n/Makefile
   trunk/www/seamonkey-i18n/distinfo
   trunk/www/seamonkey/Makefile
   trunk/www/seamonkey/distinfo

Modified: trunk/Mk/Uses/gecko.mk
==============================================================================
--- trunk/Mk/Uses/gecko.mk	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/Mk/Uses/gecko.mk	Tue Apr 29 07:51:23 2014	(r1581)
@@ -39,12 +39,12 @@
 .elif ${_GECKO_ARGS:Mfirefox}
 
 _GECKO_DEFAULT_VERSION=	24
-_GECKO_VERSIONS=		24 29
+_GECKO_VERSIONS=		24 30
 _GECKO_TYPE=	firefox
 
 # Dependence lines for different Firefox versions
 24_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox-esr
-29_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
+30_DEPENDS=		${LOCALBASE}/lib/firefox/firefox:${PORTSDIR}/www/firefox
 
 .if exists(${LOCALBASE}/bin/firefox)
 _GECKO_INSTALLED_VER!=	${LOCALBASE}/bin/firefox --version 2>/dev/null

Modified: trunk/mail/linux-thunderbird/Makefile
==============================================================================
--- trunk/mail/linux-thunderbird/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/mail/linux-thunderbird/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	thunderbird
-DISTVERSION=	24.4.0
+DISTVERSION=	24.5.0
 CATEGORIES=	mail news net-im ipv6
 DISTNAME=	${PORTNAME}-${DISTVERSION}
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US

Modified: trunk/mail/linux-thunderbird/distinfo
==============================================================================
--- trunk/mail/linux-thunderbird/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/mail/linux-thunderbird/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,5 +1,5 @@
-SHA256 (thunderbird-24.4.0.tar.bz2) = 376ab51e3c424db7e235b2e94494d48ce2fa9a8f1fbf5ef5cf9e367bbaf7422d
-SIZE (thunderbird-24.4.0.tar.bz2) = 28923795
+SHA256 (thunderbird-24.5.0.tar.bz2) = 6441f90eda22808c37bca023748efee7735cf9b18b1d21ce75878c10da8baad7
+SIZE (thunderbird-24.5.0.tar.bz2) = 28958353
 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99
 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908
 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b

Modified: trunk/mail/thunderbird-i18n/Makefile
==============================================================================
--- trunk/mail/thunderbird-i18n/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/mail/thunderbird-i18n/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/mail/thunderbird-i18n/Makefile 336446 2013-12-14 13:42:06Z flo $
 
 PORTNAME=	thunderbird-i18n
-PORTVERSION=	24.4.0
+PORTVERSION=	24.5.0
 CATEGORIES=	mail news net-im
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
 PKGNAMEPREFIX=

Modified: trunk/mail/thunderbird-i18n/distinfo
==============================================================================
--- trunk/mail/thunderbird-i18n/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/mail/thunderbird-i18n/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,110 +1,110 @@
-SHA256 (xpi/thunderbird-i18n-24.4.0/ar.xpi) = ea847b5e42930343d2ec2e2f9182d59ff84d23b6a864e2c93eb0455cf452f296
-SIZE (xpi/thunderbird-i18n-24.4.0/ar.xpi) = 457862
-SHA256 (xpi/thunderbird-i18n-24.4.0/ast.xpi) = 0ec76e7938dafb72e7fe94941dd9514223d8c5c3880cb4bfd92c2075c7a1528b
-SIZE (xpi/thunderbird-i18n-24.4.0/ast.xpi) = 373831
-SHA256 (xpi/thunderbird-i18n-24.4.0/be.xpi) = f16da428ed0246b0f08e00bc0f23eddba4e524dd856b30e93628f7fe0a636fce
-SIZE (xpi/thunderbird-i18n-24.4.0/be.xpi) = 416882
-SHA256 (xpi/thunderbird-i18n-24.4.0/bg.xpi) = 7d2e98470e62bb63c7acfd5f350cfb909598755b33ad2ff77d9792d3de341b7f
-SIZE (xpi/thunderbird-i18n-24.4.0/bg.xpi) = 485023
-SHA256 (xpi/thunderbird-i18n-24.4.0/bn-BD.xpi) = 72afde682492061234e3887253fd10fccfc738677b952a5b2932d1963f181ed7
-SIZE (xpi/thunderbird-i18n-24.4.0/bn-BD.xpi) = 537257
-SHA256 (xpi/thunderbird-i18n-24.4.0/br.xpi) = bf218d7f6d2eaf2f6444944de439cefe8f33e4e56a36eef83ee3e8986a98b944
-SIZE (xpi/thunderbird-i18n-24.4.0/br.xpi) = 427679
-SHA256 (xpi/thunderbird-i18n-24.4.0/ca.xpi) = 7f22bd3ec7b29c272dd3c35062c2fb6d92cfbe248365d1e8ea9c86a1af83fdfd
-SIZE (xpi/thunderbird-i18n-24.4.0/ca.xpi) = 429746
-SHA256 (xpi/thunderbird-i18n-24.4.0/cs.xpi) = f139479d6984a6bf62b2a9ac398f16fd2ad057aa47115fae7072b50446877ede
-SIZE (xpi/thunderbird-i18n-24.4.0/cs.xpi) = 431476
-SHA256 (xpi/thunderbird-i18n-24.4.0/da.xpi) = 0c59bf84b45dc399fa3090d3d34a5f27772630300115b10546fb7172823d0a4f
-SIZE (xpi/thunderbird-i18n-24.4.0/da.xpi) = 409626
-SHA256 (xpi/thunderbird-i18n-24.4.0/de.xpi) = 7bf488e61a07ab600b057921b117376eadf919a874e59f3350c16a171bcc5a5b
-SIZE (xpi/thunderbird-i18n-24.4.0/de.xpi) = 408674
-SHA256 (xpi/thunderbird-i18n-24.4.0/el.xpi) = ba85515ab06c4255f2b0953c8a9f6e0d4ccf26f4a240e8972b29fbde708d08ce
-SIZE (xpi/thunderbird-i18n-24.4.0/el.xpi) = 464552
-SHA256 (xpi/thunderbird-i18n-24.4.0/en-GB.xpi) = 3ceb78e9d95e104113121d4667c25b48bdc2faedcab168884453765dd4994a8f
-SIZE (xpi/thunderbird-i18n-24.4.0/en-GB.xpi) = 400962
-SHA256 (xpi/thunderbird-i18n-24.4.0/en-US.xpi) = 9d59b39cb6e8c38a1f94b91ec28882a324a460a7725dfad5fc4dcfca852a93a1
-SIZE (xpi/thunderbird-i18n-24.4.0/en-US.xpi) = 402144
-SHA256 (xpi/thunderbird-i18n-24.4.0/es-AR.xpi) = 6ff2ec8f30aba2261dfa59b7fc3cf664502966e1d9247f2a0f6b0290b4752c0d
-SIZE (xpi/thunderbird-i18n-24.4.0/es-AR.xpi) = 425657
-SHA256 (xpi/thunderbird-i18n-24.4.0/es-ES.xpi) = 52721d25f1c81d8562dd830d0b946e3b3573e88e07370f53d4bfc181bd87ed5b
-SIZE (xpi/thunderbird-i18n-24.4.0/es-ES.xpi) = 366308
-SHA256 (xpi/thunderbird-i18n-24.4.0/et.xpi) = b4ceaedc90bc8bd6efa8a77de2f58ea239b24dd3df3cc88db65857eb51b5f98b
-SIZE (xpi/thunderbird-i18n-24.4.0/et.xpi) = 422894
-SHA256 (xpi/thunderbird-i18n-24.4.0/eu.xpi) = 1369771f945eca750e85fa17ee02fccd57c58ca07e57ebe7ac8e4cc93a26a400
-SIZE (xpi/thunderbird-i18n-24.4.0/eu.xpi) = 418497
-SHA256 (xpi/thunderbird-i18n-24.4.0/fi.xpi) = 96dab3bfecee70e22015ae1f6c207e396c29d8670f270ed3f972f81fa7c383db
-SIZE (xpi/thunderbird-i18n-24.4.0/fi.xpi) = 424264
-SHA256 (xpi/thunderbird-i18n-24.4.0/fr.xpi) = 3848ae6f610b8862ff96ec7a0b54e6485f76831283ac12a619f0ce8107a59655
-SIZE (xpi/thunderbird-i18n-24.4.0/fr.xpi) = 431288
-SHA256 (xpi/thunderbird-i18n-24.4.0/fy-NL.xpi) = 2506c3ad7483c1c7d1ba23970a22fe069833a12bd63e2963f07d97176b476c85
-SIZE (xpi/thunderbird-i18n-24.4.0/fy-NL.xpi) = 426098
-SHA256 (xpi/thunderbird-i18n-24.4.0/ga-IE.xpi) = 313765ea94fd9b05738a8322f84bdf3368827695342ae09fe3ab1da8b9f99277
-SIZE (xpi/thunderbird-i18n-24.4.0/ga-IE.xpi) = 437114
-SHA256 (xpi/thunderbird-i18n-24.4.0/gd.xpi) = 63a4b1fb749551596b5f94130e63645585d384bcf57ead9256008241e8bbefd7
-SIZE (xpi/thunderbird-i18n-24.4.0/gd.xpi) = 440091
-SHA256 (xpi/thunderbird-i18n-24.4.0/gl.xpi) = ac58f14a44b67bb6fd6c20efe79e81ad05c5a10b174595f5cf077d676a76d0bd
-SIZE (xpi/thunderbird-i18n-24.4.0/gl.xpi) = 427543
-SHA256 (xpi/thunderbird-i18n-24.4.0/he.xpi) = b563c9372a99c6e5aff15ba73e70424828acf2083402b22de1d033380432cd81
-SIZE (xpi/thunderbird-i18n-24.4.0/he.xpi) = 457065
-SHA256 (xpi/thunderbird-i18n-24.4.0/hr.xpi) = db5718e663468cdcc2d4701dd5b01e6b2e39e0bb6ca11e58a4056c7c22e4db20
-SIZE (xpi/thunderbird-i18n-24.4.0/hr.xpi) = 422387
-SHA256 (xpi/thunderbird-i18n-24.4.0/hu.xpi) = 4b516919dd26a7d6294e57ca6b45f07ca1f65e887ad49c3ded5458d7f895b066
-SIZE (xpi/thunderbird-i18n-24.4.0/hu.xpi) = 441512
-SHA256 (xpi/thunderbird-i18n-24.4.0/hy-AM.xpi) = 09a95139e9bbcabd0b3ca45eb8c5d6f3f8fbbbb2cae8d22c85b505f0f5feff8e
-SIZE (xpi/thunderbird-i18n-24.4.0/hy-AM.xpi) = 477922
-SHA256 (xpi/thunderbird-i18n-24.4.0/id.xpi) = 5a4d8b2e0e96972d91fe60c1799c66f6387ea0858392dd545a2dcef02c753a8e
-SIZE (xpi/thunderbird-i18n-24.4.0/id.xpi) = 457498
-SHA256 (xpi/thunderbird-i18n-24.4.0/is.xpi) = e85519acd2619815c350f49c9406c4f36585cc61c6555448bc2a323cf0bbf2ca
-SIZE (xpi/thunderbird-i18n-24.4.0/is.xpi) = 425710
-SHA256 (xpi/thunderbird-i18n-24.4.0/it.xpi) = d32a5e3ed927502c7163243b59686e977a42c85822eeae964c0635ded3071002
-SIZE (xpi/thunderbird-i18n-24.4.0/it.xpi) = 357933
-SHA256 (xpi/thunderbird-i18n-24.4.0/ja.xpi) = 425c787bc6f432b246f165c4e6bdbd814f6d058bb662a873c61f72ace8816515
-SIZE (xpi/thunderbird-i18n-24.4.0/ja.xpi) = 475559
-SHA256 (xpi/thunderbird-i18n-24.4.0/ko.xpi) = 23750b422f4395630555b4dd60ed86a6f8d70a328d0334d1a04431c85a537562
-SIZE (xpi/thunderbird-i18n-24.4.0/ko.xpi) = 428070
-SHA256 (xpi/thunderbird-i18n-24.4.0/lt.xpi) = 93873a2aad2433626675f23be74781d74472971edb0c891d1bfcfc29d10e920d
-SIZE (xpi/thunderbird-i18n-24.4.0/lt.xpi) = 443260
-SHA256 (xpi/thunderbird-i18n-24.4.0/nb-NO.xpi) = fbfd546b9617631c4df0cb85cf2e939d75b56c3c6ff7601f4556f840df7fb3e3
-SIZE (xpi/thunderbird-i18n-24.4.0/nb-NO.xpi) = 418922
-SHA256 (xpi/thunderbird-i18n-24.4.0/nl.xpi) = 7fd2b9560a00e3172a573796899fba26d1d1cae69e2b17c81213a223da8c2712
-SIZE (xpi/thunderbird-i18n-24.4.0/nl.xpi) = 418763
-SHA256 (xpi/thunderbird-i18n-24.4.0/nn-NO.xpi) = d0fc15725d6a8f120040ba4051740a10d47fcdfce3345619a4cd7598370dafac
-SIZE (xpi/thunderbird-i18n-24.4.0/nn-NO.xpi) = 421134
-SHA256 (xpi/thunderbird-i18n-24.4.0/pa-IN.xpi) = c0c55f8c1b8009795e30318297b527f9ece985db4439b2ad0dbe7af937da62c4
-SIZE (xpi/thunderbird-i18n-24.4.0/pa-IN.xpi) = 508273
-SHA256 (xpi/thunderbird-i18n-24.4.0/pl.xpi) = ce486fffc5366b91d8d57b43ffcf5af93c7119960136344892cad5b32fcbb877
-SIZE (xpi/thunderbird-i18n-24.4.0/pl.xpi) = 401752
-SHA256 (xpi/thunderbird-i18n-24.4.0/pt-BR.xpi) = 2b9ecf69dc46a62fb613eddcdd7d2c417046eff3ca20c400e7ec8389f1ae9436
-SIZE (xpi/thunderbird-i18n-24.4.0/pt-BR.xpi) = 430909
-SHA256 (xpi/thunderbird-i18n-24.4.0/pt-PT.xpi) = 3f3b6695433f8a23d1fc1c90426165168a31e6ee505a9e0dc30773fb87d1ef0a
-SIZE (xpi/thunderbird-i18n-24.4.0/pt-PT.xpi) = 425025
-SHA256 (xpi/thunderbird-i18n-24.4.0/rm.xpi) = d4281b792ad6c2662b9dda2e4d087a11b50978901d508e7855cd945d9578ab06
-SIZE (xpi/thunderbird-i18n-24.4.0/rm.xpi) = 432384
-SHA256 (xpi/thunderbird-i18n-24.4.0/ro.xpi) = efd0d40b632d181aa289dcf9a21d8ba213f90ca6f43a886e7cc67a4b1d3e88d0
-SIZE (xpi/thunderbird-i18n-24.4.0/ro.xpi) = 497491
-SHA256 (xpi/thunderbird-i18n-24.4.0/ru.xpi) = 284e9c3fcaee7caa55f442d3fe6127d68bbd1a0e294015a3d97bcbac9a477a13
-SIZE (xpi/thunderbird-i18n-24.4.0/ru.xpi) = 425097
-SHA256 (xpi/thunderbird-i18n-24.4.0/si.xpi) = 9f97455e774e74b4a3d5effe631d7b4eaeebdee3f0f0fdcc3b3ec90c17a7de67
-SIZE (xpi/thunderbird-i18n-24.4.0/si.xpi) = 511167
-SHA256 (xpi/thunderbird-i18n-24.4.0/sk.xpi) = 8154cdc41071c4e4d06dd8bf37b5166e6078a90c00753e13d01d20c5a4b5ba4e
-SIZE (xpi/thunderbird-i18n-24.4.0/sk.xpi) = 440106
-SHA256 (xpi/thunderbird-i18n-24.4.0/sl.xpi) = 4fbd8dce101e088cec044113cf298464b56f729d7de9c48c3e295aa8763a8b20
-SIZE (xpi/thunderbird-i18n-24.4.0/sl.xpi) = 421706
-SHA256 (xpi/thunderbird-i18n-24.4.0/sq.xpi) = 3d6ce7ca0a312345d7c8b7006fd05961e7f23c67bbbe73da971448de916ea511
-SIZE (xpi/thunderbird-i18n-24.4.0/sq.xpi) = 435215
-SHA256 (xpi/thunderbird-i18n-24.4.0/sr.xpi) = 95fc6006ce2b05f66945710e56304d2abda2295272b4fe6c976a7885cdc63b85
-SIZE (xpi/thunderbird-i18n-24.4.0/sr.xpi) = 518889
-SHA256 (xpi/thunderbird-i18n-24.4.0/sv-SE.xpi) = c509fa6766b0bad5e0fea3bb66e8faf56a4c3ed6a955d64ef2dd3aaf354c5dbe
-SIZE (xpi/thunderbird-i18n-24.4.0/sv-SE.xpi) = 423815
-SHA256 (xpi/thunderbird-i18n-24.4.0/ta-LK.xpi) = ca2a242106b6b8cfd4123961704aaa0ea50ef08a59413ab5782971460d47a371
-SIZE (xpi/thunderbird-i18n-24.4.0/ta-LK.xpi) = 534923
-SHA256 (xpi/thunderbird-i18n-24.4.0/tr.xpi) = 6e49a73b80664b92d590888d34f19aa2f77490459c2a9d89cdf6d65ca5f4a569
-SIZE (xpi/thunderbird-i18n-24.4.0/tr.xpi) = 438067
-SHA256 (xpi/thunderbird-i18n-24.4.0/uk.xpi) = 8846c8bf8f30206afb21663fc0b37ca05f382cd2704beb5dbbf2fac94276e500
-SIZE (xpi/thunderbird-i18n-24.4.0/uk.xpi) = 480949
-SHA256 (xpi/thunderbird-i18n-24.4.0/vi.xpi) = 9986e317e7c830111e9e018fd37f9e39c99a5b841115c7b661c5b296532c8548
-SIZE (xpi/thunderbird-i18n-24.4.0/vi.xpi) = 495558
-SHA256 (xpi/thunderbird-i18n-24.4.0/zh-CN.xpi) = 230d8f16b03d1b2f1b3a6a502f78027d0e9d7fe8d62751ddf85935d4247fa696
-SIZE (xpi/thunderbird-i18n-24.4.0/zh-CN.xpi) = 449181
-SHA256 (xpi/thunderbird-i18n-24.4.0/zh-TW.xpi) = 4041db9d40a5c2d6256f8d3cf3e307d1708fa7db8645291383f6d09241225bdd
-SIZE (xpi/thunderbird-i18n-24.4.0/zh-TW.xpi) = 450001
+SHA256 (xpi/thunderbird-i18n-24.5.0/ar.xpi) = 61c387758c281431653c0d2a40f9779dea513358129fca8838b7568bfcb2f046
+SIZE (xpi/thunderbird-i18n-24.5.0/ar.xpi) = 457862
+SHA256 (xpi/thunderbird-i18n-24.5.0/ast.xpi) = a24e106915b718563a6b59e43d0152c027ac8f851192ca9c26135eaf2d0bf5f4
+SIZE (xpi/thunderbird-i18n-24.5.0/ast.xpi) = 373831
+SHA256 (xpi/thunderbird-i18n-24.5.0/be.xpi) = 46f2f6a22fc8eaa40793be47e7f3351297182cc7ddfb8116b00da965d6ef4a20
+SIZE (xpi/thunderbird-i18n-24.5.0/be.xpi) = 416882
+SHA256 (xpi/thunderbird-i18n-24.5.0/bg.xpi) = e36c78b5dc1667c2a66000a94d4858fd315637b2072491abd5678739c3745f88
+SIZE (xpi/thunderbird-i18n-24.5.0/bg.xpi) = 485023
+SHA256 (xpi/thunderbird-i18n-24.5.0/bn-BD.xpi) = 84b0646dc6ab24c3d366dcb93f30c0e93a53215f2d837acfbfe6757d36cf8b2a
+SIZE (xpi/thunderbird-i18n-24.5.0/bn-BD.xpi) = 537258
+SHA256 (xpi/thunderbird-i18n-24.5.0/br.xpi) = 735a7dcf944090ded122ac7fd94ca081599018091b6b948629281b2dd053ea11
+SIZE (xpi/thunderbird-i18n-24.5.0/br.xpi) = 427679
+SHA256 (xpi/thunderbird-i18n-24.5.0/ca.xpi) = b44c121db7370a79569b8309658dcff73df319f19ce446695964a8913dfffa6d
+SIZE (xpi/thunderbird-i18n-24.5.0/ca.xpi) = 429746
+SHA256 (xpi/thunderbird-i18n-24.5.0/cs.xpi) = 500809375921ab12902f81c0d700c6b66ec2c3bd3a0d03cd58fd94bc59e61040
+SIZE (xpi/thunderbird-i18n-24.5.0/cs.xpi) = 431476
+SHA256 (xpi/thunderbird-i18n-24.5.0/da.xpi) = d9c3e799b534164318262e936b9a5b50016ffea58276d67a6f6cca3c8fad6a83
+SIZE (xpi/thunderbird-i18n-24.5.0/da.xpi) = 409626
+SHA256 (xpi/thunderbird-i18n-24.5.0/de.xpi) = e03fa8c3a32b66955c7b95ccb0651d555e73f62411ed55aa2a44237dbc27b624
+SIZE (xpi/thunderbird-i18n-24.5.0/de.xpi) = 408674
+SHA256 (xpi/thunderbird-i18n-24.5.0/el.xpi) = 490f21edef433189cbcb0e16acb87ebc6e4047bce5c53ae35073782ac2539ea5
+SIZE (xpi/thunderbird-i18n-24.5.0/el.xpi) = 464552
+SHA256 (xpi/thunderbird-i18n-24.5.0/en-GB.xpi) = df6884048a7cc4579cf8d01b9846f4a4fada50c35486a5ef753b92c9e6e9eca4
+SIZE (xpi/thunderbird-i18n-24.5.0/en-GB.xpi) = 400962
+SHA256 (xpi/thunderbird-i18n-24.5.0/en-US.xpi) = 7b6c84303047b2cd7b8def5050978852d5133837f2b805b445da553b7c61ad26
+SIZE (xpi/thunderbird-i18n-24.5.0/en-US.xpi) = 402144
+SHA256 (xpi/thunderbird-i18n-24.5.0/es-AR.xpi) = 1f89c991a958a89913c4ce7d398d3727505f1c5ea18188691f2503d4fc4808f0
+SIZE (xpi/thunderbird-i18n-24.5.0/es-AR.xpi) = 425656
+SHA256 (xpi/thunderbird-i18n-24.5.0/es-ES.xpi) = f4793deb6ddbe8be6af31fe809ba2e6b1a85c16c42fc023d9c798b2a48ed1aab
+SIZE (xpi/thunderbird-i18n-24.5.0/es-ES.xpi) = 366308
+SHA256 (xpi/thunderbird-i18n-24.5.0/et.xpi) = 96a8367da63bbb573386ef2301089a676b963e5000a7638dd616cf66f0fefc06
+SIZE (xpi/thunderbird-i18n-24.5.0/et.xpi) = 422893
+SHA256 (xpi/thunderbird-i18n-24.5.0/eu.xpi) = b3617b39f949ad5e2cc06ad96de92eb76240fb5299fc9ef65479365a390ba2f3
+SIZE (xpi/thunderbird-i18n-24.5.0/eu.xpi) = 418497
+SHA256 (xpi/thunderbird-i18n-24.5.0/fi.xpi) = 3732e9d56156d836dbe69cac9e0d17e2b9e65b3436d54337f01bad07ca79ad86
+SIZE (xpi/thunderbird-i18n-24.5.0/fi.xpi) = 424264
+SHA256 (xpi/thunderbird-i18n-24.5.0/fr.xpi) = 4f6749e30cd43d41d3ad963e09e891c5455f4afba5d659482c945bf2d3ffa041
+SIZE (xpi/thunderbird-i18n-24.5.0/fr.xpi) = 431289
+SHA256 (xpi/thunderbird-i18n-24.5.0/fy-NL.xpi) = 5fd8a7748cb741587e6f8f5608edd1b930adfd597d7c41572ef938acabf5527d
+SIZE (xpi/thunderbird-i18n-24.5.0/fy-NL.xpi) = 426098
+SHA256 (xpi/thunderbird-i18n-24.5.0/ga-IE.xpi) = 5c680e902636dbbdb0850afd8c52016716d2a45bee15661626f8e66dc40d7f3c
+SIZE (xpi/thunderbird-i18n-24.5.0/ga-IE.xpi) = 437114
+SHA256 (xpi/thunderbird-i18n-24.5.0/gd.xpi) = 49941bbc298c4ca251dc799280236e3f687a75a1650bf47ece9da7a6390f1c76
+SIZE (xpi/thunderbird-i18n-24.5.0/gd.xpi) = 440091
+SHA256 (xpi/thunderbird-i18n-24.5.0/gl.xpi) = 2498b883e3cd6d7a81c02824afdaede981228dde6f0a9c13217a34e6d6dfa7c1
+SIZE (xpi/thunderbird-i18n-24.5.0/gl.xpi) = 427543
+SHA256 (xpi/thunderbird-i18n-24.5.0/he.xpi) = a5546f26a205db3a0196c5032c8e69314affecd2174f7880f5ae517af73785f9
+SIZE (xpi/thunderbird-i18n-24.5.0/he.xpi) = 457065
+SHA256 (xpi/thunderbird-i18n-24.5.0/hr.xpi) = b225e5428b4ec30eb618fcac0de66557e2f7bfdc88957dc739ec142d7968a3b2
+SIZE (xpi/thunderbird-i18n-24.5.0/hr.xpi) = 422387
+SHA256 (xpi/thunderbird-i18n-24.5.0/hu.xpi) = a24e6b47bb40a6b71319b5a4f7638574e3eede2163238da059bf0876cf7ec3fa
+SIZE (xpi/thunderbird-i18n-24.5.0/hu.xpi) = 441511
+SHA256 (xpi/thunderbird-i18n-24.5.0/hy-AM.xpi) = a8021d93dc1f3d372ee94d4c7eaacae2f30df06e2bd6cfc37a1ab564c90b6fb4
+SIZE (xpi/thunderbird-i18n-24.5.0/hy-AM.xpi) = 477923
+SHA256 (xpi/thunderbird-i18n-24.5.0/id.xpi) = 41222ef78db07a5da8b388485cd3536184caf8eb7264830e410026c279972454
+SIZE (xpi/thunderbird-i18n-24.5.0/id.xpi) = 457499
+SHA256 (xpi/thunderbird-i18n-24.5.0/is.xpi) = 3fdd5a7f5692ba2103bec6037d77bf848f78cb02eb1644d46641e89fe52cae2c
+SIZE (xpi/thunderbird-i18n-24.5.0/is.xpi) = 425710
+SHA256 (xpi/thunderbird-i18n-24.5.0/it.xpi) = 7c9a296019584d63c44ec03dda76200b83f07f50dcbafbe7c3b69af8f894f5cd
+SIZE (xpi/thunderbird-i18n-24.5.0/it.xpi) = 357933
+SHA256 (xpi/thunderbird-i18n-24.5.0/ja.xpi) = 624bf5f383fbcaf6eff9164232b72395733ae01a3a1f5e10d4a3e6fda10de1b8
+SIZE (xpi/thunderbird-i18n-24.5.0/ja.xpi) = 475559
+SHA256 (xpi/thunderbird-i18n-24.5.0/ko.xpi) = 830f3245b7f246e2269a758b7cc9186d7aadbf519ee72fa33b3d2325e285a291
+SIZE (xpi/thunderbird-i18n-24.5.0/ko.xpi) = 428071
+SHA256 (xpi/thunderbird-i18n-24.5.0/lt.xpi) = dff8b84bcfbb8c07d76d415b6ef378d6024bd81f0655ca438927572b85f4e37c
+SIZE (xpi/thunderbird-i18n-24.5.0/lt.xpi) = 443259
+SHA256 (xpi/thunderbird-i18n-24.5.0/nb-NO.xpi) = 2ae8f6c1a61d6f17cfb4f86d5d9926688fb8a403ab64fe1950c89a8997bcdd55
+SIZE (xpi/thunderbird-i18n-24.5.0/nb-NO.xpi) = 418922
+SHA256 (xpi/thunderbird-i18n-24.5.0/nl.xpi) = da2532d21fb594927f59979d4c022297b0ee5f0c29cdf2209d7e4f9296931cd9
+SIZE (xpi/thunderbird-i18n-24.5.0/nl.xpi) = 418764
+SHA256 (xpi/thunderbird-i18n-24.5.0/nn-NO.xpi) = 2a52857fca772239f14207755946dbdd36ba1c0209f8c09f30cfe6cdc94a5892
+SIZE (xpi/thunderbird-i18n-24.5.0/nn-NO.xpi) = 421134
+SHA256 (xpi/thunderbird-i18n-24.5.0/pa-IN.xpi) = f817ef8578af107efe45cc2406be7568440c1b4e020c3764afbec774b3b17a4b
+SIZE (xpi/thunderbird-i18n-24.5.0/pa-IN.xpi) = 508272
+SHA256 (xpi/thunderbird-i18n-24.5.0/pl.xpi) = 13fd347b116e6d5e1c0b168f020270cc179f32b1e056e333cc3a86a8406f901a
+SIZE (xpi/thunderbird-i18n-24.5.0/pl.xpi) = 401752
+SHA256 (xpi/thunderbird-i18n-24.5.0/pt-BR.xpi) = 57f7c85aa5ff76cd01387ff1752a63e8d2b26749765dd7daf7137de4a06eb6fe
+SIZE (xpi/thunderbird-i18n-24.5.0/pt-BR.xpi) = 430909
+SHA256 (xpi/thunderbird-i18n-24.5.0/pt-PT.xpi) = 828f0920581519070aa58c366f603d964638a60b2de74ad49fcf9397db169145
+SIZE (xpi/thunderbird-i18n-24.5.0/pt-PT.xpi) = 425025
+SHA256 (xpi/thunderbird-i18n-24.5.0/rm.xpi) = b5ad4b75ba5670223b6f16686830f2eed904a764c72a61c88e054d9574518d44
+SIZE (xpi/thunderbird-i18n-24.5.0/rm.xpi) = 432384
+SHA256 (xpi/thunderbird-i18n-24.5.0/ro.xpi) = a5a8215d718a6be1c576059168c9913c55d557b26bed500a4e39a888e0f18c4b
+SIZE (xpi/thunderbird-i18n-24.5.0/ro.xpi) = 497491
+SHA256 (xpi/thunderbird-i18n-24.5.0/ru.xpi) = 53277de17e52ed168368153902b498ea478eed06e00fc9a3f6b880cfbcb48c1f
+SIZE (xpi/thunderbird-i18n-24.5.0/ru.xpi) = 425097
+SHA256 (xpi/thunderbird-i18n-24.5.0/si.xpi) = aca1ede31da89a6ab476aad09696306f61522cdd878c5e1dabd37ba7f5b28713
+SIZE (xpi/thunderbird-i18n-24.5.0/si.xpi) = 511166
+SHA256 (xpi/thunderbird-i18n-24.5.0/sk.xpi) = a64b7290e92579b75a6cf34ba1baed18bb086265c8452c08ddb0228c714b5ed5
+SIZE (xpi/thunderbird-i18n-24.5.0/sk.xpi) = 440106
+SHA256 (xpi/thunderbird-i18n-24.5.0/sl.xpi) = ebab16114f3fe94cd15c9993a94693412afa121ce8975afadf54bf06d9a5fbab
+SIZE (xpi/thunderbird-i18n-24.5.0/sl.xpi) = 421706
+SHA256 (xpi/thunderbird-i18n-24.5.0/sq.xpi) = 5f933fa1e66e16c15d6237099cf65f5f3300ff423d3352f6e5aa3b2d207c7f0a
+SIZE (xpi/thunderbird-i18n-24.5.0/sq.xpi) = 435215
+SHA256 (xpi/thunderbird-i18n-24.5.0/sr.xpi) = 21ee6b0854e5e0052ef4eacca593c0ff41ea000dd0dc75f1d7b647b34591ad49
+SIZE (xpi/thunderbird-i18n-24.5.0/sr.xpi) = 518889
+SHA256 (xpi/thunderbird-i18n-24.5.0/sv-SE.xpi) = 17e752fbcf6e24203b6d27bce06df39766a7878fced1db516b96e2f9ec7e7426
+SIZE (xpi/thunderbird-i18n-24.5.0/sv-SE.xpi) = 423815
+SHA256 (xpi/thunderbird-i18n-24.5.0/ta-LK.xpi) = 55b10f60dea2abc565c69c841988110b989e69e7ce880500f9990af1b7e7437a
+SIZE (xpi/thunderbird-i18n-24.5.0/ta-LK.xpi) = 534922
+SHA256 (xpi/thunderbird-i18n-24.5.0/tr.xpi) = 25b1be7c836addc60bfa36e6c759dcd2b12c73c468351bc830f125080489dd92
+SIZE (xpi/thunderbird-i18n-24.5.0/tr.xpi) = 438066
+SHA256 (xpi/thunderbird-i18n-24.5.0/uk.xpi) = 331ed11d6d4b873db63e33db707a205d98eb0f4b6201a75921431b2e7e4e0755
+SIZE (xpi/thunderbird-i18n-24.5.0/uk.xpi) = 480949
+SHA256 (xpi/thunderbird-i18n-24.5.0/vi.xpi) = 993eb8b5869166b51dab725fea1126445cc132cafadab1b5096f6850f2aaadd3
+SIZE (xpi/thunderbird-i18n-24.5.0/vi.xpi) = 495558
+SHA256 (xpi/thunderbird-i18n-24.5.0/zh-CN.xpi) = e587849f5bae5bbb65bc68087fb9bbe672162e5bca69a7e99f0ca7e4559d5354
+SIZE (xpi/thunderbird-i18n-24.5.0/zh-CN.xpi) = 449181
+SHA256 (xpi/thunderbird-i18n-24.5.0/zh-TW.xpi) = ace0e695c8112ba1754f16603ee14418303ae053b97f8af0b23272a308c4f066
+SIZE (xpi/thunderbird-i18n-24.5.0/zh-TW.xpi) = 450000

Modified: trunk/mail/thunderbird/Makefile
==============================================================================
--- trunk/mail/thunderbird/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/mail/thunderbird/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/mail/thunderbird/Makefile 339634 2014-01-13 21:00:02Z rene $
 
 PORTNAME=	thunderbird
-DISTVERSION=	24.4.0
+DISTVERSION=	24.5.0
 CATEGORIES=	mail news net-im ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
 		https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/

Modified: trunk/mail/thunderbird/distinfo
==============================================================================
--- trunk/mail/thunderbird/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/mail/thunderbird/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,4 +1,4 @@
-SHA256 (thunderbird-24.4.0.source.tar.bz2) = 9aecdc2bf00cbe33629169aca8225a30d2674f4d372e845c2fc38c5d9f2bc7b6
-SIZE (thunderbird-24.4.0.source.tar.bz2) = 140040804
+SHA256 (thunderbird-24.5.0.source.tar.bz2) = 971c48db11328613340ed97a92018403647b8cca6a692b3d6b4145aed124382a
+SIZE (thunderbird-24.5.0.source.tar.bz2) = 140048545
 SHA256 (enigmail-1.6.tar.gz) = 10d5eb7ba364b9b6e6275aae8bba1d0e4321ed7d55a715337d566ccf2a56ea4d
 SIZE (enigmail-1.6.tar.gz) = 1231111

Modified: trunk/www/firefox-i18n/Makefile
==============================================================================
--- trunk/www/firefox-i18n/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox-i18n/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/www/firefox-i18n/Makefile 350687 2014-04-09 12:35:01Z bapt $
 
 PORTNAME=	firefox-i18n
-PORTVERSION=	29.0
+PORTVERSION=	30.0b1
 CATEGORIES=	www
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/linux-i686/xpi
 PKGNAMEPREFIX=
@@ -14,7 +14,7 @@
 
 EXTRACT_DEPENDS=	zip:${PORTSDIR}/archivers/zip
 
-USES=		zip:infozip gecko:firefox,29
+USES=		zip:infozip gecko:firefox,30
 USE_XPI=	firefox linux-firefox
 
 NO_ARCH=	yes

Modified: trunk/www/firefox-i18n/distinfo
==============================================================================
--- trunk/www/firefox-i18n/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox-i18n/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,176 +1,170 @@
-SHA256 (xpi/firefox-i18n-29.0/ach.xpi) = c6ccf91e05b119f39b0d83905ed143e36187649f62389156803a76318300a299
-SIZE (xpi/firefox-i18n-29.0/ach.xpi) = 373393
-SHA256 (xpi/firefox-i18n-29.0/af.xpi) = adf809368117ba8499a6e2f99b331ab32b62c499ba1174e2fe0918f72819e2b3
-SIZE (xpi/firefox-i18n-29.0/af.xpi) = 367124
-SHA256 (xpi/firefox-i18n-29.0/an.xpi) = a82aa53f398d619cdc203adc4b904b58d7f281550d8f631439c53269fa56a4bd
-SIZE (xpi/firefox-i18n-29.0/an.xpi) = 373502
-SHA256 (xpi/firefox-i18n-29.0/ar.xpi) = 9dd29397169946d0ea425483c2c3c60f67d8dbc784b3af302416c36aa0b82cae
-SIZE (xpi/firefox-i18n-29.0/ar.xpi) = 396597
-SHA256 (xpi/firefox-i18n-29.0/as.xpi) = 2f3a75d484e415551f9d19fb56c8208d6f65beab8db582b7d62f760f1f2f67f4
-SIZE (xpi/firefox-i18n-29.0/as.xpi) = 415330
-SHA256 (xpi/firefox-i18n-29.0/ast.xpi) = f232691daac61375b54312e6ef04cf4edb1270bc569694516d65c9a07f14f033
-SIZE (xpi/firefox-i18n-29.0/ast.xpi) = 324861
-SHA256 (xpi/firefox-i18n-29.0/be.xpi) = 46d25d6aef317349a915d99ee46325ae4de2947dbfd774343c5093f46b5ce098
-SIZE (xpi/firefox-i18n-29.0/be.xpi) = 340365
-SHA256 (xpi/firefox-i18n-29.0/bg.xpi) = a13eaeda2a8e664cb6849b5073b7da6bbf524b1038d40bda6a2b1c61314e6c07
-SIZE (xpi/firefox-i18n-29.0/bg.xpi) = 400750
-SHA256 (xpi/firefox-i18n-29.0/bn-BD.xpi) = be518dbeff0b3e15b28a196bd31c314b67b0c0116ae20c910b93b3a4b27f67d0
-SIZE (xpi/firefox-i18n-29.0/bn-BD.xpi) = 426365
-SHA256 (xpi/firefox-i18n-29.0/bn-IN.xpi) = cd49bf2e39e388ac3ae8f74df4e823f6a7a8ceec6da44fba7c0b59f09179a62d
-SIZE (xpi/firefox-i18n-29.0/bn-IN.xpi) = 421119
-SHA256 (xpi/firefox-i18n-29.0/br.xpi) = 1ba6c16865e0181fea267e45e7f4c87a8518f615b522aea9fb952ec94b984bd2
-SIZE (xpi/firefox-i18n-29.0/br.xpi) = 363996
-SHA256 (xpi/firefox-i18n-29.0/bs.xpi) = e968879eda41d0f96e35a21936d883c92110d40497e247a6510977c167dab4aa
-SIZE (xpi/firefox-i18n-29.0/bs.xpi) = 371223
-SHA256 (xpi/firefox-i18n-29.0/ca.xpi) = 602eaef7df208c516efeb4333a050e3433e0f3baad901fe0ea6278ba6678a576
-SIZE (xpi/firefox-i18n-29.0/ca.xpi) = 370413
-SHA256 (xpi/firefox-i18n-29.0/cs.xpi) = 7c57f8242a5c9c7ebfeb22fe24c4d6906a378c9c95e95de22a8fb8020911d0a2
-SIZE (xpi/firefox-i18n-29.0/cs.xpi) = 364875
-SHA256 (xpi/firefox-i18n-29.0/csb.xpi) = 86ffb57f543e8efca951974214f9f84b036c42ed9cb8d0d90974fa6691f2e0fe
-SIZE (xpi/firefox-i18n-29.0/csb.xpi) = 355955
-SHA256 (xpi/firefox-i18n-29.0/cy.xpi) = 7e41a6edfc20ca0ef55f8e2e34740521b87f36f48ee97dfcad69b25be0f235c6
-SIZE (xpi/firefox-i18n-29.0/cy.xpi) = 364982
-SHA256 (xpi/firefox-i18n-29.0/da.xpi) = f31a19e5512cf07b40548c676d5e53003734bb72d1898d8fe5a0d92d6cbab868
-SIZE (xpi/firefox-i18n-29.0/da.xpi) = 355875
-SHA256 (xpi/firefox-i18n-29.0/de.xpi) = f1e7a8b7b71373bd566c35559667a4da73b92fe86aebfd7acb0b24f2b0090895
-SIZE (xpi/firefox-i18n-29.0/de.xpi) = 363985
-SHA256 (xpi/firefox-i18n-29.0/el.xpi) = 28ce4ac766d10aef112451128ffe56119e972bfe9210a052c534945dee829820
-SIZE (xpi/firefox-i18n-29.0/el.xpi) = 397064
-SHA256 (xpi/firefox-i18n-29.0/en-GB.xpi) = 27e1a9560dacc0b8665f0bf4155669a208a934684fafe8907ee88e1c7927cdd2
-SIZE (xpi/firefox-i18n-29.0/en-GB.xpi) = 352794
-SHA256 (xpi/firefox-i18n-29.0/en-US.xpi) = 0b665ea8cbec2a5db2d130827c3aeb8be79133a611b0241ee11198d2a68cfcfe
-SIZE (xpi/firefox-i18n-29.0/en-US.xpi) = 352631
-SHA256 (xpi/firefox-i18n-29.0/en-ZA.xpi) = 00c54af05c8428e387409359f403993f1a141da9a30d4925a92be57fdbfb0eb7
-SIZE (xpi/firefox-i18n-29.0/en-ZA.xpi) = 343162
-SHA256 (xpi/firefox-i18n-29.0/eo.xpi) = f9f6f9071d6b8c128495ed95620180756112647eb76d680583957763ec63554d
-SIZE (xpi/firefox-i18n-29.0/eo.xpi) = 369151
-SHA256 (xpi/firefox-i18n-29.0/es-AR.xpi) = 269b4e8486ffb176a1a5082203398ed7f7c398ee0a3377888319431f1697a380
-SIZE (xpi/firefox-i18n-29.0/es-AR.xpi) = 367827
-SHA256 (xpi/firefox-i18n-29.0/es-CL.xpi) = 13c7a3fed0b61018161e45dd20ce6130583b68f270d4a71f4a1703be26d7dc46
-SIZE (xpi/firefox-i18n-29.0/es-CL.xpi) = 314748
-SHA256 (xpi/firefox-i18n-29.0/es-ES.xpi) = e50a73028675b28b8f60094731c96b24713178025a491aa24bacb805dd554e71
-SIZE (xpi/firefox-i18n-29.0/es-ES.xpi) = 305433
-SHA256 (xpi/firefox-i18n-29.0/es-MX.xpi) = a1966155e366c8b9eeaa87eb1d6e76a3c187c3bf6701b27b68c21b41627097cf
-SIZE (xpi/firefox-i18n-29.0/es-MX.xpi) = 372449
-SHA256 (xpi/firefox-i18n-29.0/et.xpi) = 1091cb9efa635996c0c9458a62aeaf03023bbaf2428b291ef2d0993ed9139609
-SIZE (xpi/firefox-i18n-29.0/et.xpi) = 352878
-SHA256 (xpi/firefox-i18n-29.0/eu.xpi) = a09f19ceb466f2c7a2e46b4a1f2dec3775d9b0d9a670ba04733b2ae7afbcbda9
-SIZE (xpi/firefox-i18n-29.0/eu.xpi) = 369441
-SHA256 (xpi/firefox-i18n-29.0/fa.xpi) = f27dca27d9215deae207b4ca38e7260421d74fd482eb8a1ddc6d6d0e39c1bc36
-SIZE (xpi/firefox-i18n-29.0/fa.xpi) = 409149
-SHA256 (xpi/firefox-i18n-29.0/ff.xpi) = 23be65bdb50c441ea75e5f3ed143160091a70191192dd4405da7f5a2d7335587
-SIZE (xpi/firefox-i18n-29.0/ff.xpi) = 361587
-SHA256 (xpi/firefox-i18n-29.0/fi.xpi) = 1dc290cf22dcfab88dcb7bdb0a2ecaad4be6163ee1bd8af13f4962ed037c1a11
-SIZE (xpi/firefox-i18n-29.0/fi.xpi) = 363340
-SHA256 (xpi/firefox-i18n-29.0/fr.xpi) = ada8b98915422b83aa4c62bf514456a27e9cedc82ddb6377178ce396f10729a3
-SIZE (xpi/firefox-i18n-29.0/fr.xpi) = 376279
-SHA256 (xpi/firefox-i18n-29.0/fy-NL.xpi) = 6a4d8b5ac760d8860aba66c779f302e19955fd5a232c237297dde3974b72cb25
-SIZE (xpi/firefox-i18n-29.0/fy-NL.xpi) = 372388
-SHA256 (xpi/firefox-i18n-29.0/ga-IE.xpi) = 25f92f7562f119c97189290f8e4746223d2db2ddf3fd260e3ce246119bcfb483
-SIZE (xpi/firefox-i18n-29.0/ga-IE.xpi) = 378267
-SHA256 (xpi/firefox-i18n-29.0/gd.xpi) = b6f370e9e0b6c8d7c9840999d185c50dc9832ba15691c6c2c2f61dd099bf4912
-SIZE (xpi/firefox-i18n-29.0/gd.xpi) = 375410
-SHA256 (xpi/firefox-i18n-29.0/gl.xpi) = b9e476f99b13b29fd84189283b9a7641ee41d641c171a4fa3587493bcb329a97
-SIZE (xpi/firefox-i18n-29.0/gl.xpi) = 363693
-SHA256 (xpi/firefox-i18n-29.0/gu-IN.xpi) = 1730b390f911b26f1d5107cdf79e9dedf1a970be7da9de96010ff1e83da3a1b0
-SIZE (xpi/firefox-i18n-29.0/gu-IN.xpi) = 391891
-SHA256 (xpi/firefox-i18n-29.0/he.xpi) = 5c62998721b69b83e63b4ec107a62e08d03d482c84de2fb3fc2c0844ab1f2315
-SIZE (xpi/firefox-i18n-29.0/he.xpi) = 385480
-SHA256 (xpi/firefox-i18n-29.0/hi-IN.xpi) = 19774e11ea7d30fa748f3d1aedce3c642dfcf83d3eacde963acf16ea38960a0a
-SIZE (xpi/firefox-i18n-29.0/hi-IN.xpi) = 410179
-SHA256 (xpi/firefox-i18n-29.0/hr.xpi) = 17240437b1e72eac60776cb3a307d60cbd59abd0444eee475fca8396ef52817f
-SIZE (xpi/firefox-i18n-29.0/hr.xpi) = 376605
-SHA256 (xpi/firefox-i18n-29.0/hu.xpi) = 518c74f77b1150ee0a17b94cafe09f3b1a84f972bf0fc6912a7ab32f5aedba08
-SIZE (xpi/firefox-i18n-29.0/hu.xpi) = 372533
-SHA256 (xpi/firefox-i18n-29.0/hy-AM.xpi) = 3052a32a950786aa0e540d4b4ae134d43def23141670c3625bcc9c0f35ad22c3
-SIZE (xpi/firefox-i18n-29.0/hy-AM.xpi) = 419572
-SHA256 (xpi/firefox-i18n-29.0/id.xpi) = 9f8d98a8b1546072a3675383252fbef3fd0fa9c4c41c3d3a9e1e50bb19535019
-SIZE (xpi/firefox-i18n-29.0/id.xpi) = 352597
-SHA256 (xpi/firefox-i18n-29.0/is.xpi) = 021226df2158678fecc9d0958b8a9a27a3cd70e584c9f34d0c7fa444870d78ad
-SIZE (xpi/firefox-i18n-29.0/is.xpi) = 364694
-SHA256 (xpi/firefox-i18n-29.0/it.xpi) = 80dde52c62e44e3706c3a228f091c1473bd871f3428c8efa0338890310b954f5
-SIZE (xpi/firefox-i18n-29.0/it.xpi) = 304003
-SHA256 (xpi/firefox-i18n-29.0/ja.xpi) = 5f23242ee1cd8045abd7564a095c5ba11bd98283b1530f1e3c29cf5fbce362c4
-SIZE (xpi/firefox-i18n-29.0/ja.xpi) = 405190
-SHA256 (xpi/firefox-i18n-29.0/kk.xpi) = b608322fe2364a15c2f96ed88449dfac1a71621081489677015aba1593eac32a
-SIZE (xpi/firefox-i18n-29.0/kk.xpi) = 408438
-SHA256 (xpi/firefox-i18n-29.0/km.xpi) = a86a3d15e836df6f767b7af53ec3cbe9c329716adfacbe14811739c878365d8d
-SIZE (xpi/firefox-i18n-29.0/km.xpi) = 438772
-SHA256 (xpi/firefox-i18n-29.0/kn.xpi) = 06bc663cf5bd3c70895ba07133cbe14adf36f08a1c375d8e3a9083ab4cda8981
-SIZE (xpi/firefox-i18n-29.0/kn.xpi) = 421792
-SHA256 (xpi/firefox-i18n-29.0/ko.xpi) = eda45d7394b912213cd1e724cf8b45126c7f60cc15cc7289b11c1abb7112b0e1
-SIZE (xpi/firefox-i18n-29.0/ko.xpi) = 372824
-SHA256 (xpi/firefox-i18n-29.0/ku.xpi) = 6fed426902356d91a149187050e97a88b590064be33a996229e328c9ac2ddb5a
-SIZE (xpi/firefox-i18n-29.0/ku.xpi) = 377944
-SHA256 (xpi/firefox-i18n-29.0/lij.xpi) = ffcc04ba6231154b7129225b4f8a62ff81c942940b8d055f38d2c770da5baa46
-SIZE (xpi/firefox-i18n-29.0/lij.xpi) = 353132
-SHA256 (xpi/firefox-i18n-29.0/lt.xpi) = 5f0ab5186966f4ef688d089cc1c02256fd58009023b1a65087243cf47898877d
-SIZE (xpi/firefox-i18n-29.0/lt.xpi) = 382910
-SHA256 (xpi/firefox-i18n-29.0/lv.xpi) = 7904ce0bd050e3c7bdc5047af6a8483ec6353d7180bf638f73dc4e86caec41cd
-SIZE (xpi/firefox-i18n-29.0/lv.xpi) = 360720
-SHA256 (xpi/firefox-i18n-29.0/mai.xpi) = c900355b017b2d6f823749eb2b59e7138885a106a3f935be9a7e91f50e50380b
-SIZE (xpi/firefox-i18n-29.0/mai.xpi) = 410012
-SHA256 (xpi/firefox-i18n-29.0/mk.xpi) = 2beb5a8a7c8d4a824b8901a6cbcaf81297347c4b83b1b55bab8855e0e5e87e6b
-SIZE (xpi/firefox-i18n-29.0/mk.xpi) = 411450
-SHA256 (xpi/firefox-i18n-29.0/ml.xpi) = 49995a410b48b0c53ff4994633602f868796c24a28d54bd1260b1f43adc79475
-SIZE (xpi/firefox-i18n-29.0/ml.xpi) = 430792
-SHA256 (xpi/firefox-i18n-29.0/mr.xpi) = 87bd2e7b71bcc21458b5d44dd83d9f2eeb461c53cd74c4a76d4eb2a6cba033c1
-SIZE (xpi/firefox-i18n-29.0/mr.xpi) = 408570
-SHA256 (xpi/firefox-i18n-29.0/ms.xpi) = 07a8b2295a6633ec838a6c8a431faff915b5f92e60d3c36aa92f1d6697bd8a49
-SIZE (xpi/firefox-i18n-29.0/ms.xpi) = 368830
-SHA256 (xpi/firefox-i18n-29.0/nb-NO.xpi) = afea740e93a87b7821fcf7885f8c44d8dcd865d1e2418d05530299ca2471a2d3
-SIZE (xpi/firefox-i18n-29.0/nb-NO.xpi) = 362513
-SHA256 (xpi/firefox-i18n-29.0/nl.xpi) = 36dd807b1b080c45a6b68fae77843d30f4cf7291bd29a61a8cebd509aeb470cd
-SIZE (xpi/firefox-i18n-29.0/nl.xpi) = 361308
-SHA256 (xpi/firefox-i18n-29.0/nn-NO.xpi) = 9522236bee6c980595ce05f9320d915a31b272a28a878eeab867329357156a9a
-SIZE (xpi/firefox-i18n-29.0/nn-NO.xpi) = 358819
-SHA256 (xpi/firefox-i18n-29.0/or.xpi) = 2b78878aa2c06143887d7f7c1f73f3c2d5c98cba58e06df5d96ecfbf9888e143
-SIZE (xpi/firefox-i18n-29.0/or.xpi) = 423772
-SHA256 (xpi/firefox-i18n-29.0/pa-IN.xpi) = 3a372d31c10dfc267cc381974a365eb4b44b6dd70d3054ac624f84fe3b41801c
-SIZE (xpi/firefox-i18n-29.0/pa-IN.xpi) = 401685
-SHA256 (xpi/firefox-i18n-29.0/pl.xpi) = 950ed718076217f4ee11c0a21cdc59005b06757af81a4d5cd028d00dc853c3b0
-SIZE (xpi/firefox-i18n-29.0/pl.xpi) = 354459
-SHA256 (xpi/firefox-i18n-29.0/pt-BR.xpi) = 28d5e2814fa7ac74b9ce44c73b1680d6b2360820f51d373c81fc4fc8304b7a7f
-SIZE (xpi/firefox-i18n-29.0/pt-BR.xpi) = 372122
-SHA256 (xpi/firefox-i18n-29.0/pt-PT.xpi) = fd74a1e2243899aae3c39e46a2d101338afa10da731a60f1b94ba6deffa2a9b2
-SIZE (xpi/firefox-i18n-29.0/pt-PT.xpi) = 359723
-SHA256 (xpi/firefox-i18n-29.0/rm.xpi) = 9ed40581c971918ea80b17e21acc8b331519b82ee322c6829e482edda6867914
-SIZE (xpi/firefox-i18n-29.0/rm.xpi) = 362965
-SHA256 (xpi/firefox-i18n-29.0/ro.xpi) = d237497e017ef6764fae81477b1ad6593d6d03c432641e14bc87e88cb1ab30c8
-SIZE (xpi/firefox-i18n-29.0/ro.xpi) = 397540
-SHA256 (xpi/firefox-i18n-29.0/ru.xpi) = 5c58a458ce5aa0cb974bd7c750dd155dd0080385bfe97344bb07ca7070d46f1e
-SIZE (xpi/firefox-i18n-29.0/ru.xpi) = 344166
-SHA256 (xpi/firefox-i18n-29.0/si.xpi) = f423bc581a57d4f1e315d3f4e591eee9b0b34b0ad26c7356957684ea80607371
-SIZE (xpi/firefox-i18n-29.0/si.xpi) = 403345
-SHA256 (xpi/firefox-i18n-29.0/sk.xpi) = c6e1d20bb1cead467ef3a4782e48f72fe9d577d2e5bf40aafe0f0700f6d86f88
-SIZE (xpi/firefox-i18n-29.0/sk.xpi) = 375676
-SHA256 (xpi/firefox-i18n-29.0/sl.xpi) = c5b6e6aed27cfa73480b89134786f2a450d4fe0f1879389262f0f6dc9892bcd2
-SIZE (xpi/firefox-i18n-29.0/sl.xpi) = 358502
-SHA256 (xpi/firefox-i18n-29.0/son.xpi) = 482834fa2c49c3bddfb48127d83258c1dde5dfc0cc5fd17fd66304fa65e6dcd8
-SIZE (xpi/firefox-i18n-29.0/son.xpi) = 358441
-SHA256 (xpi/firefox-i18n-29.0/sq.xpi) = f001eece8b1b7fc9eec35084679155802062fedd1aa096c2ba74be8e22682131
-SIZE (xpi/firefox-i18n-29.0/sq.xpi) = 374244
-SHA256 (xpi/firefox-i18n-29.0/sr.xpi) = f590d1a96a5231b4a448ca27bde8ffd2a3721f5c8d628475e4705980013d4c21
-SIZE (xpi/firefox-i18n-29.0/sr.xpi) = 412774
-SHA256 (xpi/firefox-i18n-29.0/sv-SE.xpi) = ccb78f6c29e470b15df6c0b0a1a9186ea6da1e95a01c5acf88d6d5663c0ddd37
-SIZE (xpi/firefox-i18n-29.0/sv-SE.xpi) = 368437
-SHA256 (xpi/firefox-i18n-29.0/ta.xpi) = 3a240719bae5fdd5f1dee8502a573c68d496dbcbb89e40fa2588a8f8cded48d1
-SIZE (xpi/firefox-i18n-29.0/ta.xpi) = 416214
-SHA256 (xpi/firefox-i18n-29.0/te.xpi) = 1a42033323e58bb24a230ccc547498d6b54864e6566ce38f97c8f5bc9dc802b1
-SIZE (xpi/firefox-i18n-29.0/te.xpi) = 429025
-SHA256 (xpi/firefox-i18n-29.0/th.xpi) = 9c91150755449786b400af12067d648f5751e78396bf72f9c604874dcdee5f11
-SIZE (xpi/firefox-i18n-29.0/th.xpi) = 413958
-SHA256 (xpi/firefox-i18n-29.0/tr.xpi) = 49c22b8f7384f83249cd1468e14f9aea657a4196fcf11125bfc44e112b6f93cb
-SIZE (xpi/firefox-i18n-29.0/tr.xpi) = 369613
-SHA256 (xpi/firefox-i18n-29.0/uk.xpi) = 2f232cc5a4e4b72e11e4751be8667f5c532952ba5864369e07a9438c25afc317
-SIZE (xpi/firefox-i18n-29.0/uk.xpi) = 399496
-SHA256 (xpi/firefox-i18n-29.0/vi.xpi) = e210ec8c8f985d5c6e31e37e191c35d270c310c647cb6e32cc1bf35e93194348
-SIZE (xpi/firefox-i18n-29.0/vi.xpi) = 386470
-SHA256 (xpi/firefox-i18n-29.0/xh.xpi) = 693c3c04abe48a7bf8e0c13c8192451bb70687581b79da13bf2905499c2150e8
-SIZE (xpi/firefox-i18n-29.0/xh.xpi) = 363925
-SHA256 (xpi/firefox-i18n-29.0/zh-CN.xpi) = fe6b9bb7d2dd6227fb6ea3b5ad7ecca1fb02105f10cecefc232aa9f7bc0c7096
-SIZE (xpi/firefox-i18n-29.0/zh-CN.xpi) = 389326
-SHA256 (xpi/firefox-i18n-29.0/zh-TW.xpi) = 34cf42493ffa140f869b48d6deaa10d43664e7dd7bfea6bd4a979062ef476bc1
-SIZE (xpi/firefox-i18n-29.0/zh-TW.xpi) = 386290
-SHA256 (xpi/firefox-i18n-29.0/zu.xpi) = 0ba903dcf73dcd6255e81eb049c0660eb876caef4c83b5ffbc5e1470a5918bc6
-SIZE (xpi/firefox-i18n-29.0/zu.xpi) = 373428
+SHA256 (xpi/firefox-i18n-30.0b1/ach.xpi) = 682c742bc8ca935b0d847924ce942e3d4aff6d2c9597b5fa8d34b750d79eaeb3
+SIZE (xpi/firefox-i18n-30.0b1/ach.xpi) = 375210
+SHA256 (xpi/firefox-i18n-30.0b1/af.xpi) = 3bb6eb20c56eed119b514aaed489ae75b9940d3811de44068eca3c10e1ec6d9e
+SIZE (xpi/firefox-i18n-30.0b1/af.xpi) = 369088
+SHA256 (xpi/firefox-i18n-30.0b1/ar.xpi) = 94aa692063b37c68ec957b2f050b6852a0c07447e348da8bb746219276e839b2
+SIZE (xpi/firefox-i18n-30.0b1/ar.xpi) = 397916
+SHA256 (xpi/firefox-i18n-30.0b1/as.xpi) = 5664b313ae16f9b2fa8d40cf1dde8595d3660a23f6cca821c0d1b65393f83a60
+SIZE (xpi/firefox-i18n-30.0b1/as.xpi) = 416816
+SHA256 (xpi/firefox-i18n-30.0b1/ast.xpi) = 4131c1ad485b2ea4d3e745a76a13990507de69ee51a64ada5ca263bbf38926cd
+SIZE (xpi/firefox-i18n-30.0b1/ast.xpi) = 327166
+SHA256 (xpi/firefox-i18n-30.0b1/be.xpi) = f6432ccf85b0fd8f7996fb433cbe9281a6b6a2a305f87c7b9a86c04e69d967b4
+SIZE (xpi/firefox-i18n-30.0b1/be.xpi) = 341622
+SHA256 (xpi/firefox-i18n-30.0b1/bg.xpi) = ac89a4764af9e05480395643516c34dd32f87718a82bdcdb1beb6134c87fbc3c
+SIZE (xpi/firefox-i18n-30.0b1/bg.xpi) = 406719
+SHA256 (xpi/firefox-i18n-30.0b1/bn-BD.xpi) = bc74eec26e3b0cbbeaa531634eb7a4daf0920a11a65ab48c644b92fb8085e8c0
+SIZE (xpi/firefox-i18n-30.0b1/bn-BD.xpi) = 428546
+SHA256 (xpi/firefox-i18n-30.0b1/bn-IN.xpi) = e0dbd6deed698be0b7f8a2ac1a3efcdff4a9a1f00ac3b6b67c030e137df550c1
+SIZE (xpi/firefox-i18n-30.0b1/bn-IN.xpi) = 426494
+SHA256 (xpi/firefox-i18n-30.0b1/br.xpi) = ffc1ea754ffef4006ef7d982d7a4003d0122c5c7ac726869fa15389b5818dc85
+SIZE (xpi/firefox-i18n-30.0b1/br.xpi) = 365146
+SHA256 (xpi/firefox-i18n-30.0b1/bs.xpi) = 7dd7508014d76366715a4efd9a0debf2715886d27bf3f8ca76b89f866854a031
+SIZE (xpi/firefox-i18n-30.0b1/bs.xpi) = 373276
+SHA256 (xpi/firefox-i18n-30.0b1/ca.xpi) = 39a2e2ef564fad06664cbfccbd0595b64c837ae13d42be85b5673f146c8d3313
+SIZE (xpi/firefox-i18n-30.0b1/ca.xpi) = 371488
+SHA256 (xpi/firefox-i18n-30.0b1/cs.xpi) = 2df076c60bc05d7d68a2f6f54dbca3c32a6089ae767db2afebf5189976ac4866
+SIZE (xpi/firefox-i18n-30.0b1/cs.xpi) = 366056
+SHA256 (xpi/firefox-i18n-30.0b1/csb.xpi) = 5b854f5906ece170066a82af86078443ce6f80e463e7ee5cb5ca8cb4586f1412
+SIZE (xpi/firefox-i18n-30.0b1/csb.xpi) = 358273
+SHA256 (xpi/firefox-i18n-30.0b1/cy.xpi) = 6e371f251d2b2572499f1053448274a26e0b38b42624faa357ca450fd3ab5473
+SIZE (xpi/firefox-i18n-30.0b1/cy.xpi) = 366037
+SHA256 (xpi/firefox-i18n-30.0b1/da.xpi) = 0e2f6b0655be1c38fca5549e000efca7d727db8ddc2646f82beca2e68d1c269b
+SIZE (xpi/firefox-i18n-30.0b1/da.xpi) = 356884
+SHA256 (xpi/firefox-i18n-30.0b1/de.xpi) = 5b35aafbe90675db935c4d64945976b9119d1a57fc29cea03e20b560cf77cfd3
+SIZE (xpi/firefox-i18n-30.0b1/de.xpi) = 366031
+SHA256 (xpi/firefox-i18n-30.0b1/el.xpi) = fa2d4258a5976e1c3052e2f2e1b7c89cf3eca085188e4c3917e91458789ecf5d
+SIZE (xpi/firefox-i18n-30.0b1/el.xpi) = 398965
+SHA256 (xpi/firefox-i18n-30.0b1/en-GB.xpi) = 28626eb8c2722247b5b87b7eb82f640f0842b0e238f62a39c8a112fade1bde0f
+SIZE (xpi/firefox-i18n-30.0b1/en-GB.xpi) = 353591
+SHA256 (xpi/firefox-i18n-30.0b1/en-US.xpi) = ad48c817e04669f621bc646e63f9d00bac552ac445f5c375ba44fb70d06ef406
+SIZE (xpi/firefox-i18n-30.0b1/en-US.xpi) = 353454
+SHA256 (xpi/firefox-i18n-30.0b1/en-ZA.xpi) = 0d52b5105075f32cc3170fec0af07e864224d0a5a3c2aa2f5f6dbd3ef4f6323b
+SIZE (xpi/firefox-i18n-30.0b1/en-ZA.xpi) = 345019
+SHA256 (xpi/firefox-i18n-30.0b1/eo.xpi) = 33abd6adbcc021b0a575e8696c176d5f4ec43ce818f6aac3d6210ca6cad97e11
+SIZE (xpi/firefox-i18n-30.0b1/eo.xpi) = 370144
+SHA256 (xpi/firefox-i18n-30.0b1/es-AR.xpi) = 248fd3b74fd67ba8b241dd4bf75cefce0e18c392c14cb3fb662fd2ec1d8c7752
+SIZE (xpi/firefox-i18n-30.0b1/es-AR.xpi) = 368590
+SHA256 (xpi/firefox-i18n-30.0b1/es-CL.xpi) = 6aa7fef7321cf51d9c99dd4a9a76fc293f561399d295bda93509024c6df710a2
+SIZE (xpi/firefox-i18n-30.0b1/es-CL.xpi) = 315331
+SHA256 (xpi/firefox-i18n-30.0b1/es-ES.xpi) = 0a1fba8ea08eb7d97a05055dceb6783e58bdbc5233c611f164f5b0f3e587b1ca
+SIZE (xpi/firefox-i18n-30.0b1/es-ES.xpi) = 306422
+SHA256 (xpi/firefox-i18n-30.0b1/es-MX.xpi) = 7500dad215b4df45ea799473dade85db4b56f71113dd1c6ee39fdf04a421aab5
+SIZE (xpi/firefox-i18n-30.0b1/es-MX.xpi) = 373553
+SHA256 (xpi/firefox-i18n-30.0b1/et.xpi) = 389d0ee5665f0d542c236a9c47f9163a8602c6cc34fe942df647ca005e2e3b33
+SIZE (xpi/firefox-i18n-30.0b1/et.xpi) = 353710
+SHA256 (xpi/firefox-i18n-30.0b1/eu.xpi) = e82517c5b89ca49277ea6bb9a2e25d3b5abff5814b34b0859fe09c3508c7da1d
+SIZE (xpi/firefox-i18n-30.0b1/eu.xpi) = 371553
+SHA256 (xpi/firefox-i18n-30.0b1/fa.xpi) = fe42cfee2b7c5540feeff1f01ff0d64700d1e34eaa85b56f2cd1aa8002e9e888
+SIZE (xpi/firefox-i18n-30.0b1/fa.xpi) = 410906
+SHA256 (xpi/firefox-i18n-30.0b1/ff.xpi) = fd2b7d70c1fc9ba740bff02bbbbfaf27389bdc2fe634d5562ca62d0190865361
+SIZE (xpi/firefox-i18n-30.0b1/ff.xpi) = 370695
+SHA256 (xpi/firefox-i18n-30.0b1/fi.xpi) = d73fe35622d060565f0ac6a09df3269ce3f8f5a782f1783ecdc0e506e39b52e3
+SIZE (xpi/firefox-i18n-30.0b1/fi.xpi) = 364263
+SHA256 (xpi/firefox-i18n-30.0b1/fr.xpi) = bda9730a1a17c19927dcb39f5223ef3308db16770604c592a4f5bbbe9f4bd69f
+SIZE (xpi/firefox-i18n-30.0b1/fr.xpi) = 377373
+SHA256 (xpi/firefox-i18n-30.0b1/fy-NL.xpi) = be58a095ca6d3c79647b3c73321b198106d341cfa435971c12bbb2bbb1c513ed
+SIZE (xpi/firefox-i18n-30.0b1/fy-NL.xpi) = 373140
+SHA256 (xpi/firefox-i18n-30.0b1/ga-IE.xpi) = f5f54981a64cd2ebd16578843194d67d448c2871dd331e454a88e85aaf584712
+SIZE (xpi/firefox-i18n-30.0b1/ga-IE.xpi) = 381260
+SHA256 (xpi/firefox-i18n-30.0b1/gd.xpi) = 9af29a8fe0f477740cf9c4c9a5753cab071a4886f6d9c109a234d5b8645b57a5
+SIZE (xpi/firefox-i18n-30.0b1/gd.xpi) = 378210
+SHA256 (xpi/firefox-i18n-30.0b1/gl.xpi) = 780e6d81979fb9335688cb69a6d8ce1ccf50eef1a65524a478324db7968e47a3
+SIZE (xpi/firefox-i18n-30.0b1/gl.xpi) = 365573
+SHA256 (xpi/firefox-i18n-30.0b1/gu-IN.xpi) = b8c598113619efa0ad5d3dffc0b95b5c18b827da5c8b1f162e8218c49d0ee429
+SIZE (xpi/firefox-i18n-30.0b1/gu-IN.xpi) = 394101
+SHA256 (xpi/firefox-i18n-30.0b1/he.xpi) = afe9ca317606312907d4d8a943b8960d188a8413eb26fc495dde321c25eacb10
+SIZE (xpi/firefox-i18n-30.0b1/he.xpi) = 387624
+SHA256 (xpi/firefox-i18n-30.0b1/hi-IN.xpi) = c43285814d57fa6d1d25e4fff3f1f4acef6f5b7a37c1986587afa24fbcb60d20
+SIZE (xpi/firefox-i18n-30.0b1/hi-IN.xpi) = 412285
+SHA256 (xpi/firefox-i18n-30.0b1/hr.xpi) = 8019caeeb3444dc1cb7e43ad5442658ac5f58645414bd56b7d0085de77235352
+SIZE (xpi/firefox-i18n-30.0b1/hr.xpi) = 377106
+SHA256 (xpi/firefox-i18n-30.0b1/hu.xpi) = 684b186e280a5c1fb7817f427f011c57240d9a51991b835daf6a5a53cce73a06
+SIZE (xpi/firefox-i18n-30.0b1/hu.xpi) = 373675
+SHA256 (xpi/firefox-i18n-30.0b1/hy-AM.xpi) = af796305764a62838d4428eb2d13943c627aa79a0e1b39ea5f5ef4fa7e6da390
+SIZE (xpi/firefox-i18n-30.0b1/hy-AM.xpi) = 420571
+SHA256 (xpi/firefox-i18n-30.0b1/id.xpi) = 91ad2c80112318f994efc7c6fbfde9e31950d05d3d71b56d5303c2680fcc2cc8
+SIZE (xpi/firefox-i18n-30.0b1/id.xpi) = 353461
+SHA256 (xpi/firefox-i18n-30.0b1/is.xpi) = b7b466e8444c5b1beca5c6725c5b74829708e9fcc682aa2c976fa1a0f40f877a
+SIZE (xpi/firefox-i18n-30.0b1/is.xpi) = 365853
+SHA256 (xpi/firefox-i18n-30.0b1/it.xpi) = a7103081a9371029138364ba6404eefd8a2625b4972a060ea9a5db70a7514c26
+SIZE (xpi/firefox-i18n-30.0b1/it.xpi) = 304977
+SHA256 (xpi/firefox-i18n-30.0b1/ja.xpi) = 623525497f75481974162b2a0fab1c40f22b1e759bf5d2a345666921da395ff3
+SIZE (xpi/firefox-i18n-30.0b1/ja.xpi) = 405378
+SHA256 (xpi/firefox-i18n-30.0b1/kk.xpi) = a988c979de20f4257b36e88966e7a98137d44a492c0ebe3c3c323d8ebfba5cbc
+SIZE (xpi/firefox-i18n-30.0b1/kk.xpi) = 409879
+SHA256 (xpi/firefox-i18n-30.0b1/km.xpi) = 96218acf66eecd587855029847af648ba3bf8d03ee17925351daeeb0cff4b54b
+SIZE (xpi/firefox-i18n-30.0b1/km.xpi) = 440410
+SHA256 (xpi/firefox-i18n-30.0b1/kn.xpi) = ffb6fda31b9c7712c74cada3e42ac4c303fc719b4e087c3825d83645521a4755
+SIZE (xpi/firefox-i18n-30.0b1/kn.xpi) = 423623
+SHA256 (xpi/firefox-i18n-30.0b1/ko.xpi) = 9ccb2b80a4f4751effc4705d1495d44efa5779250ee0474ff2474d24a03f7062
+SIZE (xpi/firefox-i18n-30.0b1/ko.xpi) = 374832
+SHA256 (xpi/firefox-i18n-30.0b1/ku.xpi) = bf5e129f8dfc2f65122d20a090c109a5b83e316d7ecf39ca463ca1868830100e
+SIZE (xpi/firefox-i18n-30.0b1/ku.xpi) = 379932
+SHA256 (xpi/firefox-i18n-30.0b1/lij.xpi) = 79804d765775efd02af10508485178e32f230a1b6307d684ee42f39475b2aa2e
+SIZE (xpi/firefox-i18n-30.0b1/lij.xpi) = 356154
+SHA256 (xpi/firefox-i18n-30.0b1/lt.xpi) = d54fd5cc81a1027af46374937253b6fd1f0830d6b2533e337feab704df82f2cc
+SIZE (xpi/firefox-i18n-30.0b1/lt.xpi) = 385252
+SHA256 (xpi/firefox-i18n-30.0b1/lv.xpi) = b6814788fc6d666f2d8ef87fec70107eacc85fb61adde3b41a49689c618b43cb
+SIZE (xpi/firefox-i18n-30.0b1/lv.xpi) = 359066
+SHA256 (xpi/firefox-i18n-30.0b1/mai.xpi) = b4c436cc61619d38348e265037e76a2f394571aaff11d6bb80e2c6b8937c5860
+SIZE (xpi/firefox-i18n-30.0b1/mai.xpi) = 412132
+SHA256 (xpi/firefox-i18n-30.0b1/mk.xpi) = 542468eb0ffac0f78ef02330bbd8dfadb56287b575dd6aa232fdc1d94a6eee06
+SIZE (xpi/firefox-i18n-30.0b1/mk.xpi) = 413369
+SHA256 (xpi/firefox-i18n-30.0b1/ml.xpi) = 2f47220f71037590bd82c9e2daba0454213d13b53f74a8cbafceabb047d74bb3
+SIZE (xpi/firefox-i18n-30.0b1/ml.xpi) = 432788
+SHA256 (xpi/firefox-i18n-30.0b1/mr.xpi) = dfa7b3f20a917732b72bfc5bc767214b48cb3dc3c8b2929506656399922e7ea1
+SIZE (xpi/firefox-i18n-30.0b1/mr.xpi) = 410582
+SHA256 (xpi/firefox-i18n-30.0b1/nb-NO.xpi) = 5a470b5333ac104524eefd416b0c01b8f332ea80163d3dbdc85526b18286bda3
+SIZE (xpi/firefox-i18n-30.0b1/nb-NO.xpi) = 364757
+SHA256 (xpi/firefox-i18n-30.0b1/nl.xpi) = d8bfb5496d6b356c9141c3d6eee053339094f8159cda690c1ed82abf9e56c805
+SIZE (xpi/firefox-i18n-30.0b1/nl.xpi) = 362347
+SHA256 (xpi/firefox-i18n-30.0b1/nn-NO.xpi) = 1e209db0f4e46e96a9e090984c806de83b9ce9d7a449890809db7d7a148c2043
+SIZE (xpi/firefox-i18n-30.0b1/nn-NO.xpi) = 360854
+SHA256 (xpi/firefox-i18n-30.0b1/or.xpi) = a2b05b8e2e53048f4b67df88aaa08a9eb486980db7953b470e7261d3c6d7514e
+SIZE (xpi/firefox-i18n-30.0b1/or.xpi) = 428969
+SHA256 (xpi/firefox-i18n-30.0b1/pa-IN.xpi) = 7cc17ee12aa912adfc3486c2811b3759bcb312d0a70181a48f580b34080e563a
+SIZE (xpi/firefox-i18n-30.0b1/pa-IN.xpi) = 406763
+SHA256 (xpi/firefox-i18n-30.0b1/pl.xpi) = 1ad143f6b2e2f28fd6ea87b0358a2f1f8cd84a78a674a3b59709892fb638dc10
+SIZE (xpi/firefox-i18n-30.0b1/pl.xpi) = 353585
+SHA256 (xpi/firefox-i18n-30.0b1/pt-BR.xpi) = 413a1bbe48287e196768ecbd2b419250c7653b7b0ebaf1c865c417390bf2a126
+SIZE (xpi/firefox-i18n-30.0b1/pt-BR.xpi) = 374433
+SHA256 (xpi/firefox-i18n-30.0b1/pt-PT.xpi) = ac5cb5c3c473cd3592804ffeab93127e46a84b857692236c0be965354d773248
+SIZE (xpi/firefox-i18n-30.0b1/pt-PT.xpi) = 360711
+SHA256 (xpi/firefox-i18n-30.0b1/rm.xpi) = bf3513dbc49cf5341b1cca7f7028e976484c2d794da6e850d61bd8a423206699
+SIZE (xpi/firefox-i18n-30.0b1/rm.xpi) = 370512
+SHA256 (xpi/firefox-i18n-30.0b1/ro.xpi) = fbb03c75f434549b1a1425f19d3665e66a25a95981ffb207bcb1f9b4e5cf935f
+SIZE (xpi/firefox-i18n-30.0b1/ro.xpi) = 399531
+SHA256 (xpi/firefox-i18n-30.0b1/ru.xpi) = 2356aeece26c52dac197c70384e1f3c7a59795d3514a20b75c5ffb6abee83021
+SIZE (xpi/firefox-i18n-30.0b1/ru.xpi) = 345472
+SHA256 (xpi/firefox-i18n-30.0b1/si.xpi) = 7ca4706fd3efb3cb997417487c175ba9cdc3a02477289b6ae87635a071490407
+SIZE (xpi/firefox-i18n-30.0b1/si.xpi) = 405110
+SHA256 (xpi/firefox-i18n-30.0b1/sk.xpi) = 0837ab413667ee697aba536bedd16b60499aa6dc7eee767e07c3f19a6dd4c173
+SIZE (xpi/firefox-i18n-30.0b1/sk.xpi) = 376839
+SHA256 (xpi/firefox-i18n-30.0b1/sl.xpi) = b994c807b3badb90b1e26dd9e3caf3468c037266881c5029205eb640f2a39425
+SIZE (xpi/firefox-i18n-30.0b1/sl.xpi) = 358784
+SHA256 (xpi/firefox-i18n-30.0b1/son.xpi) = 8467d97ae942b0f3bac9e8b14de17a12bdb7bd6c4f80852bb401d8783a2346c1
+SIZE (xpi/firefox-i18n-30.0b1/son.xpi) = 360524
+SHA256 (xpi/firefox-i18n-30.0b1/sq.xpi) = 45eb6686d81c4dc9eedd8d8b2f5c9ee0a6ea35eb7774f32e1b83ea8d37a9f946
+SIZE (xpi/firefox-i18n-30.0b1/sq.xpi) = 375454
+SHA256 (xpi/firefox-i18n-30.0b1/sr.xpi) = 157efd965befdb35a5b4d84d10acbde2b61f293e4ca9de02fe6a099f3dc65ab6
+SIZE (xpi/firefox-i18n-30.0b1/sr.xpi) = 414415
+SHA256 (xpi/firefox-i18n-30.0b1/sv-SE.xpi) = 0126e576bc17176821f46e7a8eac55f44d67596d32870d01f89bed8e104a4311
+SIZE (xpi/firefox-i18n-30.0b1/sv-SE.xpi) = 369474
+SHA256 (xpi/firefox-i18n-30.0b1/ta.xpi) = 6dcb2e94ae4bd5b58d0634bcba948c5b5affafa935f28160f94c5233299c06e3
+SIZE (xpi/firefox-i18n-30.0b1/ta.xpi) = 421296
+SHA256 (xpi/firefox-i18n-30.0b1/te.xpi) = 8dfadac2939a34fcdb1d8bac76e8b5d2d2d7e5103b6192376b4118d60d6e763b
+SIZE (xpi/firefox-i18n-30.0b1/te.xpi) = 431171
+SHA256 (xpi/firefox-i18n-30.0b1/th.xpi) = fab9c9ee1544e27cb57e96bd13683cff83649fb4547f5f1d4f4d60c4fc3ea8bb
+SIZE (xpi/firefox-i18n-30.0b1/th.xpi) = 415962
+SHA256 (xpi/firefox-i18n-30.0b1/tr.xpi) = 4a2e4c033f29c8d48d3bfaa7ecf0fab6160e2134683715750f47324d09d829c4
+SIZE (xpi/firefox-i18n-30.0b1/tr.xpi) = 370708
+SHA256 (xpi/firefox-i18n-30.0b1/uk.xpi) = fd9bc9aececd1106e045de67af453911395b1ffe0019229cb3a213b3c6711624
+SIZE (xpi/firefox-i18n-30.0b1/uk.xpi) = 401698
+SHA256 (xpi/firefox-i18n-30.0b1/vi.xpi) = 64a4e48094bf720b61086a9e45622e33da964008b8476d48c1cc9f14a63a1c35
+SIZE (xpi/firefox-i18n-30.0b1/vi.xpi) = 388350
+SHA256 (xpi/firefox-i18n-30.0b1/zh-CN.xpi) = bbd001373e603e0e85a3ad227c53207d33f96f0b79d71304e2227910a85f7fd1
+SIZE (xpi/firefox-i18n-30.0b1/zh-CN.xpi) = 391676
+SHA256 (xpi/firefox-i18n-30.0b1/zh-TW.xpi) = f41b2fe5617189238825ccd9608382cfcac402f437f0981eb29ba1d34bff61ea
+SIZE (xpi/firefox-i18n-30.0b1/zh-TW.xpi) = 387320
+SHA256 (xpi/firefox-i18n-30.0b1/zu.xpi) = fca6557c4c91d241e603d6a97c0713311c11c6e625d7f1d527979ad36ce80ae4
+SIZE (xpi/firefox-i18n-30.0b1/zu.xpi) = 375216

Modified: trunk/www/firefox-nightly/Makefile
==============================================================================
--- trunk/www/firefox-nightly/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox-nightly/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	firefox
-PORTVERSION=	31.0.${HGREV:C/:.*//}
+PORTVERSION=	32.0.${HGREV:C/:.*//}
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	https://hg.mozilla.org/integration/mozilla-inbound/archive/

Modified: trunk/www/firefox-nightly/Makefile.hgrev
==============================================================================
--- trunk/www/firefox-nightly/Makefile.hgrev	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox-nightly/Makefile.hgrev	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1 +1 @@
-HGREV=		179547:ec50db58f17b
+HGREV=		180649:1b3d03b3493d

Modified: trunk/www/firefox-nightly/distinfo
==============================================================================
--- trunk/www/firefox-nightly/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox-nightly/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,2 +1,2 @@
-SHA256 (firefox-nightly/ec50db58f17b.tar.bz2) = 4ab9b15fe33360e41417de2ef55a567388a999c8cc2cb8bea697571c2a5e0d57
-SIZE (firefox-nightly/ec50db58f17b.tar.bz2) = 144390692
+SHA256 (firefox-nightly/1b3d03b3493d.tar.bz2) = cb3c3cdb639f2afe6c154d3414698459f2aa9e6810de3e60916c3e2ed5279a9a
+SIZE (firefox-nightly/1b3d03b3493d.tar.bz2) = 144525991

Modified: trunk/www/firefox-nightly/files/patch-z-bug517422
==============================================================================
--- trunk/www/firefox-nightly/files/patch-z-bug517422	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox-nightly/files/patch-z-bug517422	Tue Apr 29 07:51:23 2014	(r1581)
@@ -262,30 +262,19 @@
  dnl = Disable VP8 decoder support
  dnl ========================================================
  MOZ_ARG_DISABLE_BOOL(webm,
-diff --git content/media/AudioStream.cpp content/media/AudioStream.cpp
-index 88c8aa6..6b03288 100644
---- content/media/AudioStream.cpp
-+++ content/media/AudioStream.cpp
-@@ -13,7 +13,6 @@
- #include "mozilla/Mutex.h"
- #include <algorithm>
- #include "mozilla/Preferences.h"
--#include "soundtouch/SoundTouch.h"
- #include "Latency.h"
- 
- namespace mozilla {
 diff --git content/media/AudioStream.h content/media/AudioStream.h
 index 085676d..00c54fb 100644
 --- content/media/AudioStream.h
 +++ content/media/AudioStream.h
-@@ -15,6 +15,7 @@
- #include "mozilla/StaticMutex.h"
+@@ -26,7 +26,7 @@ public:
+ };
  
- #include "cubeb/cubeb.h"
-+#include "soundtouch/SoundTouch.h"
+ namespace soundtouch {
+-class SoundTouch;
++class MOZ_IMPORT_API SoundTouch;
+ }
  
- template <>
- class nsAutoRefTraits<cubeb_stream> : public nsPointerRefTraits<cubeb_stream>
+ namespace mozilla {
 diff --git content/media/Makefile.in content/media/Makefile.in
 index fd34449..c6c42c8 100644
 --- content/media/Makefile.in

Modified: trunk/www/firefox/Makefile
==============================================================================
--- trunk/www/firefox/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/www/firefox/Makefile 339634 2014-01-13 21:00:02Z rene $
 
 PORTNAME=	firefox
-DISTVERSION=	29.0
+DISTVERSION=	30.0b1
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
@@ -20,7 +20,7 @@
 		libvorbis>=1.3.4:${PORTSDIR}/audio/libvorbis \
 		opus>=1.1:${PORTSDIR}/audio/opus \
 		libvpx>=1.3.0:${PORTSDIR}/multimedia/libvpx \
-		sqlite3>=3.8.2:${PORTSDIR}/databases/sqlite3 \
+		sqlite3>=3.8.3.1:${PORTSDIR}/databases/sqlite3 \
 		${PYTHON_PKGNAMEPREFIX}sqlite3>0:${PORTSDIR}/databases/py-sqlite3 \
 		v4l_compat>0:${PORTSDIR}/multimedia/v4l_compat \
 		zip:${PORTSDIR}/archivers/zip \
@@ -39,7 +39,7 @@
 MOZILLA_NAME=	Firefox
 
 WANT_GNOME=	yes
-USE_QT4=	# empty
+USE_QT5=	# empty
 QT_NONSTANDARD=	yes
 ALL_TARGET=	default
 GNU_CONFIGURE=	yes
@@ -58,7 +58,7 @@
 .include "${.CURDIR}/../../www/firefox/Makefile.options"
 .include <bsd.port.pre.mk>
 
-WRKSRC:=	${WRKDIR}/mozilla-release
+WRKSRC:=	${WRKDIR}/mozilla-beta
 
 # avoid clang 3.2/3.3 crash in js/src/jsgc.cpp on refillFreeList<(js::AllowGC)1>
 # http://svnweb.freebsd.org/changeset/base/255804

Modified: trunk/www/firefox/distinfo
==============================================================================
--- trunk/www/firefox/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,2 +1,2 @@
-SHA256 (firefox-29.0.source.tar.bz2) = 64402a1f1359f3ea30767a94977ae823ac25b39c6d54f9fe6db444ed127db892
-SIZE (firefox-29.0.source.tar.bz2) = 143163777
+SHA256 (firefox-30.0b1.source.tar.bz2) = f4439b9bf8e8b2e55e23c3c72a07e16b7f84adf53c6582cff80456bbcbee5f05
+SIZE (firefox-30.0b1.source.tar.bz2) = 142995514

Deleted: trunk/www/firefox/files/patch-bug783463
==============================================================================
--- trunk/www/firefox/files/patch-bug783463	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,11 +0,0 @@
---- gfx/skia/moz.build~
-+++ gfx/skia/moz.build
-@@ -190,7 +190,7 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'qt
-         'SkFontHost_FreeType_common.cpp',
-         'SkOSFile.cpp',
-     ]
--    if CONFIG['OS_TARGET'] == 'Linux':
-+    if CONFIG['MOZ_X11'] == 1 or CONFIG['OS_TARGET'] == 'Linux':
-         EXPORTS.skia += [
-             'include/ports/SkTypeface_cairo.h',
-         ]

Deleted: trunk/www/firefox/files/patch-bug806917
==============================================================================
--- trunk/www/firefox/files/patch-bug806917	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,1999 +0,0 @@
-commit cb40a26
-Author: Alessandro Decina <alessandro.d@gmail.com>
-Date:   Fri Jan 03 08:16:54 2014 -0800
-
-    Bug 806917 - support GStreamer 1.0
----
- configure.in                                      |  66 ++-
- content/media/gstreamer/GStreamerAllocator.cpp    | 197 +++++++
- content/media/gstreamer/GStreamerAllocator.h      |  25 +
- content/media/gstreamer/GStreamerFormatHelper.cpp |  13 +-
- content/media/gstreamer/GStreamerFunctionList.h   |  93 +++-
- content/media/gstreamer/GStreamerLoader.cpp       |  48 +-
- content/media/gstreamer/GStreamerLoader.h         |   8 +
- content/media/gstreamer/GStreamerReader-0.10.cpp  | 200 +++++++
- content/media/gstreamer/GStreamerReader.cpp       | 632 ++++++++++++++--------
- content/media/gstreamer/GStreamerReader.h         |  42 +-
- content/media/gstreamer/moz.build                 |  11 +-
- content/media/test/manifest.js                    |   6 +-
- 12 files changed, 1057 insertions(+), 284 deletions(-)
-
-diff --git configure.in configure.in
-index 9776b8d..0b1698d 100644
---- configure.in
-+++ configure.in
-@@ -3988,6 +3988,7 @@ MOZ_SAMPLE_TYPE_FLOAT32=
- MOZ_SAMPLE_TYPE_S16=
- MOZ_OPUS=1
- MOZ_WEBM=1
-+MOZ_GSTREAMER=
- MOZ_DIRECTSHOW=
- MOZ_WMF=
- MOZ_FMP4=
-@@ -5634,44 +5635,61 @@ WINNT|Darwin|Android)
-     ;;
- *)
-     MOZ_GSTREAMER=1
-+    GST_API_VERSION=0.10
-     ;;
- esac
- 
--MOZ_ARG_ENABLE_BOOL(gstreamer,
--[  --enable-gstreamer           Enable GStreamer support],
--MOZ_GSTREAMER=1,
--MOZ_GSTREAMER=)
--
--if test "$MOZ_GSTREAMER"; then
--    # API version, eg 0.10, 1.0 etc
-+MOZ_ARG_ENABLE_STRING(gstreamer,
-+[  --enable-gstreamer[=0.10]           Enable GStreamer support],
-+[ MOZ_GSTREAMER=1
-+  # API version, eg 0.10, 1.0 etc
-+  if test -z "$enableval" -o "$enableval" = "yes"; then
-     GST_API_VERSION=0.10
-+  elif test "$enableval" = "no"; then
-+    MOZ_GSTREAMER=
-+  else
-+    GST_API_VERSION=$enableval
-+  fi],
-+)
-+
-+if test -n "$MOZ_GSTREAMER"; then
-     # core/base release number
--    GST_VERSION=0.10.25
-+    if test "$GST_API_VERSION" = "1.0"; then
-+      GST_VERSION=1.0
-+    else
-+      GST_VERSION=0.10.25
-+    fi
-+
-     PKG_CHECK_MODULES(GSTREAMER,
-                       gstreamer-$GST_API_VERSION >= $GST_VERSION
-                       gstreamer-app-$GST_API_VERSION
--                      gstreamer-plugins-base-$GST_API_VERSION, ,
--                      AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer]))
--    if test -n "$GSTREAMER_LIBS"; then
--       _SAVE_LDFLAGS=$LDFLAGS
--       LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
--       AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=)
--       if test -n "$_HAVE_LIBGSTVIDEO" ; then
--          GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
--       else
--          AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.])
--       fi
--       LDFLAGS=$_SAVE_LDFLAGS
-+                      gstreamer-plugins-base-$GST_API_VERSION,
-+                      [_HAVE_GSTREAMER=1],
-+                      [_HAVE_GSTREAMER=])
-+    if test -z "$_HAVE_GSTREAMER"; then
-+        AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer])
-+    fi
-+
-+    _SAVE_LDFLAGS=$LDFLAGS
-+    LDFLAGS="$LDFLAGS $GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
-+    AC_TRY_LINK(,[return 0;],_HAVE_LIBGSTVIDEO=1,_HAVE_LIBGSTVIDEO=)
-+    if test -n "$_HAVE_LIBGSTVIDEO" ; then
-+        GSTREAMER_LIBS="$GSTREAMER_LIBS -lgstvideo-$GST_API_VERSION"
-     else
--       AC_MSG_ERROR([gstreamer and gstreamer-plugins-base development packages are needed to build gstreamer backend. Install them or disable gstreamer support with --disable-gstreamer])
-+        AC_MSG_ERROR([gstreamer-plugins-base found, but no libgstvideo. Something has gone terribly wrong. Try reinstalling gstreamer-plugins-base; failing that, disable the gstreamer backend with --disable-gstreamer.])
-     fi
-+    LDFLAGS=$_SAVE_LDFLAGS
-+
-+    AC_SUBST(GSTREAMER_CFLAGS)
-+    AC_SUBST(GSTREAMER_LIBS)
- fi
--AC_SUBST(GSTREAMER_CFLAGS)
--AC_SUBST(GSTREAMER_LIBS)
-+
- AC_SUBST(MOZ_GSTREAMER)
-+AC_SUBST(GST_API_VERSION)
- 
- if test -n "$MOZ_GSTREAMER"; then
--   AC_DEFINE(MOZ_GSTREAMER)
-+     AC_DEFINE(MOZ_GSTREAMER)
-+     AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION")
- fi
- 
- 
-diff --git content/media/gstreamer/GStreamerAllocator.cpp content/media/gstreamer/GStreamerAllocator.cpp
-new file mode 100644
-index 0000000..69d0385
---- /dev/null
-+++ content/media/gstreamer/GStreamerAllocator.cpp
-@@ -0,0 +1,197 @@
-+#ifdef HAVE_CONFIG_H
-+#include "config.h"
-+#endif
-+
-+#include "GStreamerAllocator.h"
-+
-+#include <gst/video/video.h>
-+#include <gst/video/gstvideometa.h>
-+
-+#include "GStreamerLoader.h"
-+
-+using namespace mozilla::layers;
-+
-+namespace mozilla {
-+
-+typedef struct
-+{
-+  GstAllocator parent;
-+  GStreamerReader *reader;
-+} MozGfxMemoryAllocator;
-+
-+typedef struct
-+{
-+  GstAllocatorClass parent;
-+} MozGfxMemoryAllocatorClass;
-+
-+typedef struct
-+{
-+  GstMemory memory;
-+  PlanarYCbCrImage* image;
-+  guint8* data;
-+} MozGfxMemory;
-+
-+typedef struct
-+{
-+  GstMeta meta;
-+} MozGfxMeta;
-+
-+typedef struct
-+{
-+  GstVideoBufferPoolClass parent_class;
-+} MozGfxBufferPoolClass;
-+
-+typedef struct
-+{
-+  GstVideoBufferPool pool;
-+} MozGfxBufferPool;
-+
-+G_DEFINE_TYPE(MozGfxMemoryAllocator, moz_gfx_memory_allocator, GST_TYPE_ALLOCATOR);
-+G_DEFINE_TYPE(MozGfxBufferPool, moz_gfx_buffer_pool, GST_TYPE_VIDEO_BUFFER_POOL);
-+
-+void
-+moz_gfx_memory_reset(MozGfxMemory *mem)
-+{
-+  if (mem->image)
-+    mem->image->Release();
-+
-+  ImageContainer* container = ((MozGfxMemoryAllocator*) mem->memory.allocator)->reader->GetImageContainer();
-+  mem->image = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get());
-+  mem->data = mem->image->AllocateAndGetNewBuffer(mem->memory.size);
-+}
-+
-+static GstMemory*
-+moz_gfx_memory_allocator_alloc(GstAllocator* aAllocator, gsize aSize,
-+    GstAllocationParams* aParams)
-+{
-+  MozGfxMemory* mem = g_slice_new (MozGfxMemory);
-+  gsize maxsize = aSize + aParams->prefix + aParams->padding;
-+  gst_memory_init(GST_MEMORY_CAST (mem),
-+                  (GstMemoryFlags)aParams->flags,
-+                  aAllocator, NULL, maxsize, aParams->align,
-+                  aParams->prefix, aSize);
-+  mem->image = NULL;
-+  moz_gfx_memory_reset(mem);
-+
-+  return (GstMemory *) mem;
-+}
-+
-+static void
-+moz_gfx_memory_allocator_free (GstAllocator * allocator, GstMemory * gmem)
-+{
-+  MozGfxMemory *mem = (MozGfxMemory *) gmem;
-+
-+  if (mem->memory.parent)
-+    goto sub_mem;
-+
-+  if (mem->image)
-+    mem->image->Release();
-+
-+sub_mem:
-+  g_slice_free (MozGfxMemory, mem);
-+}
-+
-+static gpointer
-+moz_gfx_memory_map (MozGfxMemory * mem, gsize maxsize, GstMapFlags flags)
-+{
-+  // check that the allocation didn't fail
-+  if (mem->data == nullptr)
-+    return nullptr;
-+
-+  return mem->data + mem->memory.offset;
-+}
-+
-+static gboolean
-+moz_gfx_memory_unmap (MozGfxMemory * mem)
-+{
-+  return TRUE;
-+}
-+
-+static MozGfxMemory *
-+moz_gfx_memory_share (MozGfxMemory * mem, gssize offset, gsize size)
-+{
-+  MozGfxMemory *sub;
-+  GstMemory *parent;
-+
-+  /* find the real parent */
-+  if ((parent = mem->memory.parent) == NULL)
-+    parent = (GstMemory *) mem;
-+
-+  if (size == (gsize) -1)
-+    size = mem->memory.size - offset;
-+
-+  /* the shared memory is always readonly */
-+  sub = g_slice_new (MozGfxMemory);
-+
-+  gst_memory_init (GST_MEMORY_CAST (sub),
-+      (GstMemoryFlags) (GST_MINI_OBJECT_FLAGS (parent) | GST_MINI_OBJECT_FLAG_LOCK_READONLY),
-+      mem->memory.allocator, &mem->memory, mem->memory.maxsize, mem->memory.align,
-+      mem->memory.offset + offset, size);
-+
-+  sub->image = mem->image;
-+  sub->data = mem->data;
-+
-+  return sub;
-+}
-+
-+static void
-+moz_gfx_memory_allocator_class_init (MozGfxMemoryAllocatorClass * klass)
-+{
-+  GstAllocatorClass *allocator_class;
-+
-+  allocator_class = (GstAllocatorClass *) klass;
-+
-+  allocator_class->alloc = moz_gfx_memory_allocator_alloc;
-+  allocator_class->free = moz_gfx_memory_allocator_free;
-+}
-+
-+static void
-+moz_gfx_memory_allocator_init (MozGfxMemoryAllocator * allocator)
-+{
-+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
-+
-+  alloc->mem_type = "moz-gfx-image";
-+  alloc->mem_map = (GstMemoryMapFunction) moz_gfx_memory_map;
-+  alloc->mem_unmap = (GstMemoryUnmapFunction) moz_gfx_memory_unmap;
-+  alloc->mem_share = (GstMemoryShareFunction) moz_gfx_memory_share;
-+  /* fallback copy and is_span */
-+}
-+
-+void
-+moz_gfx_memory_allocator_set_reader(GstAllocator* aAllocator, GStreamerReader* aReader)
-+{
-+  MozGfxMemoryAllocator *allocator = (MozGfxMemoryAllocator *) aAllocator;
-+  allocator->reader = aReader;
-+}
-+
-+nsRefPtr<PlanarYCbCrImage>
-+moz_gfx_memory_get_image(GstMemory *aMemory)
-+{
-+  NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(aMemory->allocator), "Should be a gfx image");
-+
-+  return ((MozGfxMemory *) aMemory)->image;
-+}
-+
-+void
-+moz_gfx_buffer_pool_reset_buffer (GstBufferPool* aPool, GstBuffer* aBuffer)
-+{
-+  GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0);
-+
-+  NS_ASSERTION(GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator), "Should be a gfx image");
-+  moz_gfx_memory_reset((MozGfxMemory *) mem);
-+  GST_BUFFER_POOL_CLASS(moz_gfx_buffer_pool_parent_class)->reset_buffer(aPool, aBuffer);
-+}
-+
-+static void
-+moz_gfx_buffer_pool_class_init (MozGfxBufferPoolClass * klass)
-+{
-+  GstBufferPoolClass *pool_class = (GstBufferPoolClass *) klass;
-+  pool_class->reset_buffer = moz_gfx_buffer_pool_reset_buffer;
-+}
-+
-+static void
-+moz_gfx_buffer_pool_init (MozGfxBufferPool * pool)
-+{
-+}
-+
-+} // namespace mozilla
-diff --git content/media/gstreamer/GStreamerAllocator.h content/media/gstreamer/GStreamerAllocator.h
-new file mode 100644
-index 0000000..05a4412
---- /dev/null
-+++ content/media/gstreamer/GStreamerAllocator.h
-@@ -0,0 +1,25 @@
-+/* This Source Code Form is subject to the terms of the Mozilla Public
-+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
-+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
-+
-+#if !defined(GStreamerAllocator_h_)
-+#define GStreamerAllocator_h_
-+
-+#include "GStreamerReader.h"
-+
-+#define GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR   (moz_gfx_memory_allocator_get_type())
-+#define GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR))
-+#define GST_TYPE_MOZ_GFX_BUFFER_POOL   (moz_gfx_buffer_pool_get_type())
-+#define GST_IS_MOZ_GFX_BUFFER_POOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MOZ_GFX_BUFFER_POOL))
-+
-+namespace mozilla {
-+
-+GType moz_gfx_memory_allocator_get_type();
-+void moz_gfx_memory_allocator_set_reader(GstAllocator *aAllocator, GStreamerReader* aReader);
-+nsRefPtr<layers::PlanarYCbCrImage> moz_gfx_memory_get_image(GstMemory *aMemory);
-+
-+GType moz_gfx_buffer_pool_get_type();
-+
-+} // namespace mozilla
-+
-+#endif
-diff --git content/media/gstreamer/GStreamerFormatHelper.cpp content/media/gstreamer/GStreamerFormatHelper.cpp
-index be71331..a5e5db8 100644
---- content/media/gstreamer/GStreamerFormatHelper.cpp
-+++ content/media/gstreamer/GStreamerFormatHelper.cpp
-@@ -294,12 +294,23 @@ bool GStreamerFormatHelper::CanHandleCodecCaps(GstCaps* aCaps)
- GList* GStreamerFormatHelper::GetFactories() {
-   NS_ASSERTION(sLoadOK, "GStreamer library not linked");
- 
--  uint32_t cookie = gst_default_registry_get_feature_list_cookie ();
-+#if GST_VERSION_MAJOR >= 1
-+  uint32_t cookie = gst_registry_get_feature_list_cookie(gst_registry_get());
-+#else
-+  uint32_t cookie = gst_default_registry_get_feature_list_cookie();
-+#endif
-   if (cookie != mCookie) {
-     g_list_free(mFactories);
-+#if GST_VERSION_MAJOR >= 1
-+    mFactories =
-+      gst_registry_feature_filter(gst_registry_get(),
-+                                  (GstPluginFeatureFilter)FactoryFilter,
-+                                  false, nullptr);
-+#else
-     mFactories =
-       gst_default_registry_feature_filter((GstPluginFeatureFilter)FactoryFilter,
-                                           false, nullptr);
-+#endif
-     mCookie = cookie;
-   }
- 
-diff --git content/media/gstreamer/GStreamerFunctionList.h content/media/gstreamer/GStreamerFunctionList.h
-index 56877c0..e169449 100644
---- content/media/gstreamer/GStreamerFunctionList.h
-+++ content/media/gstreamer/GStreamerFunctionList.h
-@@ -9,7 +9,6 @@
-  * List of symbol names we need to dlsym from the gstreamer library.
-  */
- GST_FUNC(LIBGSTAPP, gst_app_sink_get_type)
--GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer)
- GST_FUNC(LIBGSTAPP, gst_app_sink_set_callbacks)
- GST_FUNC(LIBGSTAPP, gst_app_src_end_of_stream)
- GST_FUNC(LIBGSTAPP, gst_app_src_get_size)
-@@ -22,10 +21,8 @@ GST_FUNC(LIBGSTAPP, gst_app_src_set_stream_type)
- GST_FUNC(LIBGSTREAMER, gst_bin_get_by_name)
- GST_FUNC(LIBGSTREAMER, gst_bin_get_type)
- GST_FUNC(LIBGSTREAMER, gst_bin_iterate_recurse)
--GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata)
- GST_FUNC(LIBGSTREAMER, gst_buffer_get_type)
- GST_FUNC(LIBGSTREAMER, gst_buffer_new)
--GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc)
- GST_FUNC(LIBGSTREAMER, gst_bus_set_sync_handler)
- GST_FUNC(LIBGSTREAMER, gst_bus_timed_pop_filtered)
- GST_FUNC(LIBGSTREAMER, gst_caps_append)
-@@ -37,47 +34,37 @@ GST_FUNC(LIBGSTREAMER, gst_caps_new_any)
- GST_FUNC(LIBGSTREAMER, gst_caps_new_empty)
- GST_FUNC(LIBGSTREAMER, gst_caps_new_full)
- GST_FUNC(LIBGSTREAMER, gst_caps_new_simple)
--GST_FUNC(LIBGSTREAMER, gst_caps_unref)
--GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass)
-+GST_FUNC(LIBGSTREAMER, gst_caps_set_simple)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_get_static_pad_templates)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_get_type)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_make)
- GST_FUNC(LIBGSTREAMER, gst_element_get_factory)
--GST_FUNC(LIBGSTREAMER, gst_element_get_pad)
-+GST_FUNC(LIBGSTREAMER, gst_element_get_static_pad)
- GST_FUNC(LIBGSTREAMER, gst_element_get_type)
- GST_FUNC(LIBGSTREAMER, gst_element_query_convert)
- GST_FUNC(LIBGSTREAMER, gst_element_query_duration)
- GST_FUNC(LIBGSTREAMER, gst_element_seek_simple)
- GST_FUNC(LIBGSTREAMER, gst_element_set_state)
--GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment)
- GST_FUNC(LIBGSTREAMER, gst_flow_get_name)
- GST_FUNC(LIBGSTREAMER, gst_init)
- GST_FUNC(LIBGSTREAMER, gst_init_check)
- GST_FUNC(LIBGSTREAMER, gst_iterator_next)
- GST_FUNC(LIBGSTREAMER, gst_message_parse_error)
- GST_FUNC(LIBGSTREAMER, gst_message_type_get_name)
--GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type)
--GST_FUNC(LIBGSTREAMER, gst_mini_object_new)
- GST_FUNC(LIBGSTREAMER, gst_mini_object_ref)
- GST_FUNC(LIBGSTREAMER, gst_mini_object_unref)
- GST_FUNC(LIBGSTREAMER, gst_object_get_name)
- GST_FUNC(LIBGSTREAMER, gst_object_get_parent)
- GST_FUNC(LIBGSTREAMER, gst_object_unref)
--GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe)
--GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer)
- GST_FUNC(LIBGSTREAMER, gst_pad_get_element_private)
--GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps)
--GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function)
- GST_FUNC(LIBGSTREAMER, gst_pad_set_element_private)
- GST_FUNC(LIBGSTREAMER, gst_parse_bin_from_description)
- GST_FUNC(LIBGSTREAMER, gst_pipeline_get_bus)
- GST_FUNC(LIBGSTREAMER, gst_pipeline_get_type)
- GST_FUNC(LIBGSTREAMER, gst_plugin_feature_get_rank)
- GST_FUNC(LIBGSTREAMER, gst_registry_feature_filter)
--GST_FUNC(LIBGSTREAMER, gst_registry_get_default)
- GST_FUNC(LIBGSTREAMER, gst_registry_get_feature_list_cookie)
- GST_FUNC(LIBGSTREAMER, gst_segment_init)
--GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment)
- GST_FUNC(LIBGSTREAMER, gst_segment_to_stream_time)
- GST_FUNC(LIBGSTREAMER, gst_static_caps_get)
- GST_FUNC(LIBGSTREAMER, gst_structure_copy)
-@@ -85,11 +72,82 @@ GST_FUNC(LIBGSTREAMER, gst_structure_get_int)
- GST_FUNC(LIBGSTREAMER, gst_structure_get_value)
- GST_FUNC(LIBGSTREAMER, gst_structure_new)
- GST_FUNC(LIBGSTREAMER, gst_util_uint64_scale)
-+
-+#if GST_VERSION_MAJOR == 0
-+GST_FUNC(LIBGSTAPP, gst_app_sink_pull_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_copy_metadata)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_new_and_alloc)
-+GST_FUNC(LIBGSTREAMER, gst_caps_unref)
-+GST_FUNC(LIBGSTREAMER, gst_element_factory_get_klass)
-+GST_FUNC(LIBGSTREAMER, gst_element_get_pad)
-+GST_FUNC(LIBGSTREAMER, gst_event_parse_new_segment)
-+GST_FUNC(LIBGSTREAMER, gst_mini_object_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_mini_object_new)
-+GST_FUNC(LIBGSTREAMER, gst_pad_add_event_probe)
-+GST_FUNC(LIBGSTREAMER, gst_pad_alloc_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_pad_get_negotiated_caps)
-+GST_FUNC(LIBGSTREAMER, gst_pad_set_bufferalloc_function)
-+GST_FUNC(LIBGSTREAMER, gst_registry_get_default)
-+GST_FUNC(LIBGSTREAMER, gst_segment_set_newsegment)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_height)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_offset)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_component_width)
-+GST_FUNC(LIBGSTVIDEO, gst_video_format_get_pixel_stride)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_get_row_stride)
- GST_FUNC(LIBGSTVIDEO, gst_video_format_parse_caps)
-+#else
-+
-+GST_FUNC(LIBGSTAPP, gst_app_sink_pull_sample)
-+GST_FUNC(LIBGSTREAMER, _gst_caps_any)
-+GST_FUNC(LIBGSTREAMER, gst_allocator_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_copy_into)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_extract)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_get_meta)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_get_size)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_map)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_new_allocate)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_n_memory)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_peek_memory)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_acquire_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_allocator)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_config_set_params)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_config)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_is_active)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_active)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_pool_set_config)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_set_size)
-+GST_FUNC(LIBGSTREAMER, gst_buffer_unmap)
-+GST_FUNC(LIBGSTREAMER, gst_element_factory_get_metadata)
-+GST_FUNC(LIBGSTREAMER, gst_event_parse_segment)
-+GST_FUNC(LIBGSTREAMER, gst_memory_init)
-+GST_FUNC(LIBGSTREAMER, gst_memory_map)
-+GST_FUNC(LIBGSTREAMER, gst_memory_unmap)
-+GST_FUNC(LIBGSTREAMER, gst_object_get_type)
-+GST_FUNC(LIBGSTREAMER, gst_pad_add_probe)
-+GST_FUNC(LIBGSTREAMER, gst_pad_get_current_caps)
-+GST_FUNC(LIBGSTREAMER, gst_pad_probe_info_get_query)
-+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_meta)
-+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_param)
-+GST_FUNC(LIBGSTREAMER, gst_query_add_allocation_pool)
-+GST_FUNC(LIBGSTREAMER, gst_query_parse_allocation)
-+GST_FUNC(LIBGSTREAMER, gst_registry_get)
-+GST_FUNC(LIBGSTREAMER, gst_sample_get_buffer)
-+GST_FUNC(LIBGSTREAMER, gst_segment_copy_into)
-+GST_FUNC(LIBGSTREAMER, gst_structure_free)
-+GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_config_get_video_alignment)
-+GST_FUNC(LIBGSTVIDEO, gst_buffer_pool_has_option)
-+GST_FUNC(LIBGSTVIDEO, gst_video_buffer_pool_get_type)
-+GST_FUNC(LIBGSTVIDEO, gst_video_frame_map)
-+GST_FUNC(LIBGSTVIDEO, gst_video_frame_unmap)
-+GST_FUNC(LIBGSTVIDEO, gst_video_info_align)
-+GST_FUNC(LIBGSTVIDEO, gst_video_info_from_caps)
-+GST_FUNC(LIBGSTVIDEO, gst_video_info_init)
-+GST_FUNC(LIBGSTVIDEO, gst_video_meta_api_get_type)
-+GST_FUNC(LIBGSTVIDEO, gst_video_meta_map)
-+GST_FUNC(LIBGSTVIDEO, gst_video_meta_unmap)
-+
-+#endif
- 
- /*
-  * Functions that have been defined in the header file. We replace them so that
-@@ -99,6 +157,11 @@ GST_FUNC(LIBGSTVIDEO, gst_video_format_parse_caps)
- REPLACE_FUNC(gst_buffer_ref);
- REPLACE_FUNC(gst_buffer_unref);
- REPLACE_FUNC(gst_message_unref);
-+
-+#if GST_VERSION_MAJOR == 1
-+REPLACE_FUNC(gst_caps_unref);
-+REPLACE_FUNC(gst_sample_unref);
-+#endif
- #endif
- 
- #endif // !defined(__APPLE__)
-diff --git content/media/gstreamer/GStreamerLoader.cpp content/media/gstreamer/GStreamerLoader.cpp
-index 5961b23..e6457e0 100644
---- content/media/gstreamer/GStreamerLoader.cpp
-+++ content/media/gstreamer/GStreamerLoader.cpp
-@@ -6,13 +6,21 @@
- #include <dlfcn.h>
- #include <stdio.h>
- 
--#include "GStreamerLoader.h"
-+#include "nsDebug.h"
- #include "mozilla/NullPtr.h"
- 
-+#include "GStreamerLoader.h"
-+
- #define LIBGSTREAMER 0
- #define LIBGSTAPP 1
- #define LIBGSTVIDEO 2
- 
-+#ifdef __OpenBSD__
-+#define LIB_GST_SUFFIX ".so"
-+#else
-+#define LIB_GST_SUFFIX ".so.0"
-+#endif
-+
- namespace mozilla {
- 
- /*
-@@ -32,6 +40,11 @@ namespace mozilla {
- GstBuffer * gst_buffer_ref_impl(GstBuffer *buf);
- void gst_buffer_unref_impl(GstBuffer *buf);
- void gst_message_unref_impl(GstMessage *msg);
-+void gst_caps_unref_impl(GstCaps *caps);
-+
-+#if GST_VERSION_MAJOR == 1
-+void gst_sample_unref_impl(GstSample *sample);
-+#endif
- 
- bool
- load_gstreamer()
-@@ -58,32 +71,25 @@ load_gstreamer()
-   if (major == GST_VERSION_MAJOR && minor == GST_VERSION_MINOR) {
-     gstreamerLib = RTLD_DEFAULT;
-   } else {
--#ifdef __OpenBSD__
--    gstreamerLib = dlopen("libgstreamer-0.10.so", RTLD_NOW | RTLD_LOCAL);
--#else
--    gstreamerLib = dlopen("libgstreamer-0.10.so.0", RTLD_NOW | RTLD_LOCAL);
--#endif
-+    gstreamerLib = dlopen("libgstreamer-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL);
-   }
- 
--  void *handles[] = {
-+  void *handles[3] = {
-     gstreamerLib,
--#ifdef __OpenBSD__
--    dlopen("libgstapp-0.10.so", RTLD_NOW | RTLD_LOCAL),
--    dlopen("libgstvideo-0.10.so", RTLD_NOW | RTLD_LOCAL)
--#else
--    dlopen("libgstapp-0.10.so.0", RTLD_NOW | RTLD_LOCAL),
--    dlopen("libgstvideo-0.10.so.0", RTLD_NOW | RTLD_LOCAL)
--#endif
-+    dlopen("libgstapp-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL),
-+    dlopen("libgstvideo-" GST_API_VERSION LIB_GST_SUFFIX, RTLD_NOW | RTLD_LOCAL)
-   };
- 
-   for (size_t i = 0; i < sizeof(handles) / sizeof(handles[0]); i++) {
-     if (!handles[i]) {
-+      NS_WARNING("Couldn't link gstreamer libraries");
-       goto fail;
-     }
-   }
- 
- #define GST_FUNC(lib, symbol) \
-   if (!(symbol = (typeof(symbol))dlsym(handles[lib], #symbol))) { \
-+    NS_WARNING("Couldn't link symbol " #symbol); \
-     goto fail; \
-   }
- #define REPLACE_FUNC(symbol) symbol = symbol##_impl;
-@@ -123,4 +129,18 @@ gst_message_unref_impl(GstMessage *msg)
-   gst_mini_object_unref(GST_MINI_OBJECT_CAST(msg));
- }
- 
-+#if GST_VERSION_MAJOR == 1
-+void
-+gst_sample_unref_impl(GstSample *sample)
-+{
-+  gst_mini_object_unref(GST_MINI_OBJECT_CAST(sample));
-+}
-+#endif
-+
-+void
-+gst_caps_unref_impl(GstCaps *caps)
-+{
-+  gst_mini_object_unref(GST_MINI_OBJECT_CAST(caps));
-+}
-+
- }
-diff --git content/media/gstreamer/GStreamerLoader.h content/media/gstreamer/GStreamerLoader.h
-index 2d801722..cd7fe6d 100644
---- content/media/gstreamer/GStreamerLoader.h
-+++ content/media/gstreamer/GStreamerLoader.h
-@@ -22,6 +22,11 @@
- #include <gst/video/video.h>
- #pragma GCC diagnostic pop
- 
-+#if GST_VERSION_MAJOR == 1
-+#include <gst/video/gstvideometa.h>
-+#include <gst/video/gstvideopool.h>
-+#endif
-+
- namespace mozilla {
- 
- /*
-@@ -42,4 +47,7 @@ bool load_gstreamer();
- 
- }
- 
-+#undef GST_CAPS_ANY
-+#define GST_CAPS_ANY (*_gst_caps_any)
-+
- #endif // GStreamerLoader_h_
-diff --git content/media/gstreamer/GStreamerReader-0.10.cpp content/media/gstreamer/GStreamerReader-0.10.cpp
-new file mode 100644
-index 0000000..fb98bde
---- /dev/null
-+++ content/media/gstreamer/GStreamerReader-0.10.cpp
-@@ -0,0 +1,200 @@
-+#include "nsError.h"
-+#include "MediaDecoderStateMachine.h"
-+#include "AbstractMediaDecoder.h"
-+#include "MediaResource.h"
-+#include "GStreamerReader.h"
-+#include "GStreamerMozVideoBuffer.h"
-+#include "GStreamerFormatHelper.h"
-+#include "VideoUtils.h"
-+#include "mozilla/dom/TimeRanges.h"
-+#include "mozilla/Preferences.h"
-+
-+using namespace mozilla;
-+using mozilla::layers::PlanarYCbCrImage;
-+using mozilla::layers::ImageContainer;
-+
-+GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad,
-+                                                     guint64 aOffset,
-+                                                     guint aSize,
-+                                                     GstCaps* aCaps,
-+                                                     GstBuffer** aBuf)
-+{
-+  GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad));
-+  return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf);
-+}
-+
-+GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad,
-+                                                   guint64 aOffset,
-+                                                   guint aSize,
-+                                                   GstCaps* aCaps,
-+                                                   GstBuffer** aBuf)
-+{
-+  nsRefPtr<PlanarYCbCrImage> image;
-+  return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image);
-+}
-+
-+GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad,
-+                                                       guint64 aOffset,
-+                                                       guint aSize,
-+                                                       GstCaps* aCaps,
-+                                                       GstBuffer** aBuf,
-+                                                       nsRefPtr<PlanarYCbCrImage>& aImage)
-+{
-+  /* allocate an image using the container */
-+  ImageContainer* container = mDecoder->GetImageContainer();
-+  if (container == nullptr) {
-+    return GST_FLOW_ERROR;
-+  }
-+  PlanarYCbCrImage* img = reinterpret_cast<PlanarYCbCrImage*>(container->CreateImage(ImageFormat::PLANAR_YCBCR).get());
-+  nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img);
-+
-+  /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */
-+  GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new());
-+  GST_BUFFER_SIZE(buf) = aSize;
-+  /* allocate the actual YUV buffer */
-+  GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize);
-+
-+  aImage = image;
-+
-+  /* create a GstMozVideoBufferData to hold the image */
-+  GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image);
-+
-+  /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */
-+  gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata);
-+
-+  *aBuf = buf;
-+  return GST_FLOW_OK;
-+}
-+
-+gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent)
-+{
-+  GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad));
-+  switch(GST_EVENT_TYPE(aEvent)) {
-+    case GST_EVENT_NEWSEGMENT:
-+    {
-+      gboolean update;
-+      gdouble rate;
-+      GstFormat format;
-+      gint64 start, stop, position;
-+      GstSegment* segment;
-+
-+      /* Store the segments so we can convert timestamps to stream time, which
-+       * is what the upper layers sync on.
-+       */
-+      ReentrantMonitorAutoEnter mon(mGstThreadsMonitor);
-+      gst_event_parse_new_segment(aEvent, &update, &rate, &format,
-+          &start, &stop, &position);
-+      if (parent == GST_ELEMENT(mVideoAppSink))
-+        segment = &mVideoSegment;
-+      else
-+        segment = &mAudioSegment;
-+      gst_segment_set_newsegment(segment, update, rate, format,
-+          start, stop, position);
-+      break;
-+    }
-+    case GST_EVENT_FLUSH_STOP:
-+      /* Reset on seeks */
-+      ResetDecode();
-+      break;
-+    default:
-+      break;
-+  }
-+  gst_object_unref(parent);
-+
-+  return TRUE;
-+}
-+
-+gboolean GStreamerReader::EventProbeCb(GstPad* aPad,
-+                                         GstEvent* aEvent,
-+                                         gpointer aUserData)
-+{
-+  GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData);
-+  return reader->EventProbe(aPad, aEvent);
-+}
-+
-+nsRefPtr<PlanarYCbCrImage> GStreamerReader::GetImageFromBuffer(GstBuffer* aBuffer)
-+{
-+  if (!GST_IS_MOZ_VIDEO_BUFFER (aBuffer))
-+    return nullptr;
-+
-+  nsRefPtr<PlanarYCbCrImage> image;
-+  GstMozVideoBufferData* bufferdata = reinterpret_cast<GstMozVideoBufferData*>(gst_moz_video_buffer_get_data(GST_MOZ_VIDEO_BUFFER(aBuffer)));
-+  image = bufferdata->mImage;
-+
-+  PlanarYCbCrImage::Data data;
-+  data.mPicX = data.mPicY = 0;
-+  data.mPicSize = gfx::IntSize(mPicture.width, mPicture.height);
-+  data.mStereoMode = StereoMode::MONO;
-+
-+  data.mYChannel = GST_BUFFER_DATA(aBuffer);
-+  data.mYStride = gst_video_format_get_row_stride(mFormat, 0, mPicture.width);
-+  data.mYSize = gfx::IntSize(data.mYStride,
-+      gst_video_format_get_component_height(mFormat, 0, mPicture.height));
-+  data.mYSkip = 0;
-+  data.mCbCrStride = gst_video_format_get_row_stride(mFormat, 1, mPicture.width);
-+  data.mCbCrSize = gfx::IntSize(data.mCbCrStride,
-+      gst_video_format_get_component_height(mFormat, 1, mPicture.height));
-+  data.mCbChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 1,
-+      mPicture.width, mPicture.height);
-+  data.mCrChannel = data.mYChannel + gst_video_format_get_component_offset(mFormat, 2,
-+      mPicture.width, mPicture.height);
-+  data.mCbSkip = 0;
-+  data.mCrSkip = 0;
-+
-+  image->SetDataNoCopy(data);
-+
-+  return image;
-+}
-+
-+void GStreamerReader::CopyIntoImageBuffer(GstBuffer* aBuffer,
-+                                          GstBuffer** aOutBuffer,
-+                                          nsRefPtr<PlanarYCbCrImage> &aImage)
-+{
-+  AllocateVideoBufferFull(nullptr, GST_BUFFER_OFFSET(aBuffer),
-+      GST_BUFFER_SIZE(aBuffer), nullptr, aOutBuffer, aImage);
-+
-+  gst_buffer_copy_metadata(*aOutBuffer, aBuffer, (GstBufferCopyFlags)GST_BUFFER_COPY_ALL);
-+  memcpy(GST_BUFFER_DATA(*aOutBuffer), GST_BUFFER_DATA(aBuffer), GST_BUFFER_SIZE(*aOutBuffer));
-+
-+  aImage = GetImageFromBuffer(*aOutBuffer);
-+}
-+
-+GstCaps* GStreamerReader::BuildAudioSinkCaps()
-+{
-+  GstCaps* caps;
-+#ifdef IS_LITTLE_ENDIAN
-+  int endianness = 1234;
-+#else
-+  int endianness = 4321;
-+#endif
-+  gint width;
-+#ifdef MOZ_SAMPLE_TYPE_FLOAT32
-+  caps = gst_caps_from_string("audio/x-raw-float, channels={1,2}");
-+  width = 32;
-+#else /* !MOZ_SAMPLE_TYPE_FLOAT32 */
-+  caps = gst_caps_from_string("audio/x-raw-int, channels={1,2}");
-+  width = 16;
-+#endif
-+  gst_caps_set_simple(caps,
-+      "width", G_TYPE_INT, width,
-+      "endianness", G_TYPE_INT, endianness,
-+      NULL);
-+
-+  return caps;
-+}
-+
-+void GStreamerReader::InstallPadCallbacks()
-+{
-+  GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+  gst_pad_add_event_probe(sinkpad,
-+                          G_CALLBACK(&GStreamerReader::EventProbeCb), this);
-+
-+  gst_pad_set_bufferalloc_function(sinkpad, GStreamerReader::AllocateVideoBufferCb);
-+  gst_pad_set_element_private(sinkpad, this);
-+  gst_object_unref(sinkpad);
-+
-+  sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+  gst_pad_add_event_probe(sinkpad,
-+                          G_CALLBACK(&GStreamerReader::EventProbeCb), this);
-+  gst_object_unref(sinkpad);
-+}
-diff --git content/media/gstreamer/GStreamerReader.cpp content/media/gstreamer/GStreamerReader.cpp
-index 2be45dc..54509e3 100644
---- content/media/gstreamer/GStreamerReader.cpp
-+++ content/media/gstreamer/GStreamerReader.cpp
-@@ -10,8 +10,10 @@
- #include "AbstractMediaDecoder.h"
- #include "MediaResource.h"
- #include "GStreamerReader.h"
-+#if GST_VERSION_MAJOR >= 1
-+#include "GStreamerAllocator.h"
-+#endif
- #include "GStreamerFormatHelper.h"
--#include "GStreamerMozVideoBuffer.h"
- #include "VideoUtils.h"
- #include "mozilla/dom/TimeRanges.h"
- #include "mozilla/Preferences.h"
-@@ -31,14 +33,16 @@ extern PRLogModuleInfo* gMediaDecoderLog;
- #define LOG(type, msg, ...)
- #endif
- 
--extern bool
--IsYV12Format(const VideoData::YCbCrBuffer::Plane& aYPlane,
--             const VideoData::YCbCrBuffer::Plane& aCbPlane,
--             const VideoData::YCbCrBuffer::Plane& aCrPlane);
--
-+#if DEBUG
- static const unsigned int MAX_CHANNELS = 4;
--// Let the demuxer work in pull mode for short files
--static const int SHORT_FILE_SIZE = 1024 * 1024;
-+#endif
-+// Let the demuxer work in pull mode for short files. This used to be a micro
-+// optimization to have more accurate durations for ogg files in mochitests.
-+// Since as of today we aren't using gstreamer to demux ogg, and having demuxers
-+// work in pull mode over http makes them slower (since they really assume
-+// near-zero latency in pull mode) set the constant to 0 for now, which
-+// effectively disables it.
-+static const int SHORT_FILE_SIZE = 0;
- // The default resource->Read() size when working in push mode
- static const int DEFAULT_SOURCE_READ_SIZE = 50 * 1024;
- 
-@@ -60,6 +62,10 @@ GStreamerReader::GStreamerReader(AbstractMediaDecoder* aDecoder)
-   : MediaDecoderReader(aDecoder),
-   mMP3FrameParser(aDecoder->GetResource()->GetLength()),
-   mUseParserDuration(false),
-+#if GST_VERSION_MAJOR >= 1
-+  mAllocator(nullptr),
-+  mBufferPool(nullptr),
-+#endif
-   mPlayBin(nullptr),
-   mBus(nullptr),
-   mSource(nullptr),
-@@ -72,6 +78,9 @@ GStreamerReader::GStreamerReader(AbstractMediaDecoder* aDecoder)
-   mAudioSinkBufferCount(0),
-   mGstThreadsMonitor("media.gst.threads"),
-   mReachedEos(false),
-+#if GST_VERSION_MAJOR >= 1
-+  mConfigureAlignment(true),
-+#endif
-   fpsNum(0),
-   fpsDen(0)
- {
-@@ -83,8 +92,12 @@ GStreamerReader::GStreamerReader(AbstractMediaDecoder* aDecoder)
- 
-   mSinkCallbacks.eos = GStreamerReader::EosCb;
-   mSinkCallbacks.new_preroll = GStreamerReader::NewPrerollCb;
-+#if GST_VERSION_MAJOR >= 1
-+  mSinkCallbacks.new_sample = GStreamerReader::NewBufferCb;
-+#else
-   mSinkCallbacks.new_buffer = GStreamerReader::NewBufferCb;
-   mSinkCallbacks.new_buffer_list = nullptr;
-+#endif
- 
-   gst_segment_init(&mVideoSegment, GST_FORMAT_UNDEFINED);
-   gst_segment_init(&mAudioSegment, GST_FORMAT_UNDEFINED);
-@@ -108,65 +121,59 @@ GStreamerReader::~GStreamerReader()
-     mAudioAppSink = nullptr;
-     gst_object_unref(mBus);
-     mBus = nullptr;
-+#if GST_VERSION_MAJOR >= 1
-+    g_object_unref(mAllocator);
-+    g_object_unref(mBufferPool);
-+#endif
-   }
- }
- 
- nsresult GStreamerReader::Init(MediaDecoderReader* aCloneDonor)
- {
--  GError* error = nullptr;
--  if (!gst_init_check(0, 0, &error)) {
--    LOG(PR_LOG_ERROR, "gst initialization failed: %s", error->message);
--    g_error_free(error);
--    return NS_ERROR_FAILURE;
--  }
-+  GStreamerFormatHelper::Instance();
-+
-+#if GST_VERSION_MAJOR >= 1
-+  mAllocator = static_cast<GstAllocator*>(g_object_new(GST_TYPE_MOZ_GFX_MEMORY_ALLOCATOR, nullptr));
-+  moz_gfx_memory_allocator_set_reader(mAllocator, this);
-+
-+  mBufferPool = static_cast<GstBufferPool*>(g_object_new(GST_TYPE_MOZ_GFX_BUFFER_POOL, nullptr));
-+#endif
- 
-+#if GST_VERSION_MAJOR >= 1
-+  mPlayBin = gst_element_factory_make("playbin", nullptr);
-+#else
-   mPlayBin = gst_element_factory_make("playbin2", nullptr);
-+#endif
-   if (!mPlayBin) {
--    LOG(PR_LOG_ERROR, "couldn't create playbin2");
-+    LOG(PR_LOG_ERROR, "couldn't create playbin");
-     return NS_ERROR_FAILURE;
-   }
-   g_object_set(mPlayBin, "buffer-size", 0, nullptr);
-   mBus = gst_pipeline_get_bus(GST_PIPELINE(mPlayBin));
- 
-   mVideoSink = gst_parse_bin_from_description("capsfilter name=filter ! "
--      "appsink name=videosink sync=true max-buffers=1 "
-+      "appsink name=videosink sync=false max-buffers=1 "
-+#if GST_VERSION_MAJOR >= 1
-+      "caps=video/x-raw,format=I420"
-+#else
-       "caps=video/x-raw-yuv,format=(fourcc)I420"
-+#endif
-       , TRUE, nullptr);
-   mVideoAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mVideoSink),
-         "videosink"));
--  gst_app_sink_set_callbacks(mVideoAppSink, &mSinkCallbacks,
--      (gpointer) this, nullptr);
--  GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mVideoAppSink), "sink");
--  gst_pad_add_event_probe(sinkpad,
--      G_CALLBACK(&GStreamerReader::EventProbeCb), this);
--  gst_object_unref(sinkpad);
--  gst_pad_set_bufferalloc_function(sinkpad, GStreamerReader::AllocateVideoBufferCb);
--  gst_pad_set_element_private(sinkpad, this);
--
-   mAudioSink = gst_parse_bin_from_description("capsfilter name=filter ! "
--#ifdef MOZ_SAMPLE_TYPE_FLOAT32
--        "appsink name=audiosink max-buffers=2 sync=false caps=audio/x-raw-float,"
--#ifdef IS_LITTLE_ENDIAN
--        "channels={1,2},width=32,endianness=1234", TRUE, nullptr);
--#else
--        "channels={1,2},width=32,endianness=4321", TRUE, nullptr);
--#endif
--#else
--        "appsink name=audiosink max-buffers=2 sync=false caps=audio/x-raw-int,"
--#ifdef IS_LITTLE_ENDIAN
--        "channels={1,2},width=16,endianness=1234", TRUE, nullptr);
--#else
--        "channels={1,2},width=16,endianness=4321", TRUE, nullptr);
--#endif
--#endif
-+        "appsink name=audiosink sync=false max-buffers=1", TRUE, nullptr);
-   mAudioAppSink = GST_APP_SINK(gst_bin_get_by_name(GST_BIN(mAudioSink),
-                                                    "audiosink"));
-+  GstCaps* caps = BuildAudioSinkCaps();
-+  g_object_set(mAudioAppSink, "caps", caps, nullptr);
-+  gst_caps_unref(caps);
-+
-+  gst_app_sink_set_callbacks(mVideoAppSink, &mSinkCallbacks,
-+      (gpointer) this, nullptr);
-   gst_app_sink_set_callbacks(mAudioAppSink, &mSinkCallbacks,
-                              (gpointer) this, nullptr);
--  sinkpad = gst_element_get_pad(GST_ELEMENT(mAudioAppSink), "sink");
--  gst_pad_add_event_probe(sinkpad,
--                          G_CALLBACK(&GStreamerReader::EventProbeCb), this);
--  gst_object_unref(sinkpad);
-+  InstallPadCallbacks();
- 
-   g_object_set(mPlayBin, "uri", "appsrc://",
-                "video-sink", mVideoSink,
-@@ -331,13 +340,12 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
-       /* Little trick: set the target caps to "skip" so that playbin2 fails to
-        * find a decoder for the stream we want to skip.
-        */
--      GstCaps* filterCaps = gst_caps_new_simple ("skip", nullptr);
-+      GstCaps* filterCaps = gst_caps_new_simple ("skip", nullptr, nullptr);
-       g_object_set(filter, "caps", filterCaps, nullptr);
-       gst_caps_unref(filterCaps);
-       gst_object_unref(filter);
-     }
- 
--    /* start the pipeline */
-     LOG(PR_LOG_DEBUG, "starting metadata pipeline");
-     gst_element_set_state(mPlayBin, GST_STATE_PAUSED);
- 
-@@ -358,6 +366,7 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
-       gst_message_unref(message);
-       ret = NS_ERROR_FAILURE;
-     } else {
-+      LOG(PR_LOG_DEBUG, "read metadata pipeline prerolled");
-       gst_message_unref(message);
-       ret = NS_OK;
-       break;
-@@ -373,21 +383,24 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
- 
-   /* FIXME: workaround for a bug in matroskademux. This seek makes matroskademux
-    * parse the index */
-+  LOG(PR_LOG_DEBUG, "doing matroskademux seek hack");
-   if (gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME,
-         GST_SEEK_FLAG_FLUSH, 0)) {
-     /* after a seek we need to wait again for ASYNC_DONE */
--    message = gst_bus_timed_pop_filtered(mBus, GST_CLOCK_TIME_NONE,
-+    message = gst_bus_timed_pop_filtered(mBus, 5 * GST_SECOND,
-        (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR));
--    if (GST_MESSAGE_TYPE(message) == GST_MESSAGE_ERROR) {
-+    LOG(PR_LOG_DEBUG, "matroskademux seek hack done");
-+    if (GST_MESSAGE_TYPE(message) != GST_MESSAGE_ASYNC_DONE) {
-       gst_element_set_state(mPlayBin, GST_STATE_NULL);
-       gst_message_unref(message);
-       return NS_ERROR_FAILURE;
-     }
-+  } else {
-+    LOG(PR_LOG_DEBUG, "matroskademux seek hack failed (non fatal)");
-   }
- 
-   /* report the duration */
-   gint64 duration;
--  GstFormat format = GST_FORMAT_TIME;
- 
-   if (isMP3 && mMP3FrameParser.IsMP3()) {
-     // The MP3FrameParser has reported a duration; use that over the gstreamer
-@@ -396,17 +409,25 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
-     mUseParserDuration = true;
-     mLastParserDuration = mMP3FrameParser.GetDuration();
-     mDecoder->SetMediaDuration(mLastParserDuration);
--
--  } else if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
--      &format, &duration) && format == GST_FORMAT_TIME) {
--    // Otherwise use the gstreamer duration.
--    ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
--    LOG(PR_LOG_DEBUG, "returning duration %" GST_TIME_FORMAT, GST_TIME_ARGS(duration));
--    duration = GST_TIME_AS_USECONDS (duration);
--    mDecoder->SetMediaDuration(duration);
--
-   } else {
--    mDecoder->SetMediaSeekable(false);
-+    LOG(PR_LOG_DEBUG, "querying duration");
-+    // Otherwise use the gstreamer duration.
-+#if GST_VERSION_MAJOR >= 1
-+    if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-+          GST_FORMAT_TIME, &duration)) {
-+#else
-+    GstFormat format = GST_FORMAT_TIME;
-+    if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-+      &format, &duration) && format == GST_FORMAT_TIME) {
-+#endif
-+      ReentrantMonitorAutoEnter mon(mDecoder->GetReentrantMonitor());
-+      LOG(PR_LOG_DEBUG, "have duration %" GST_TIME_FORMAT,
-+            GST_TIME_ARGS (duration));
-+      duration = GST_TIME_AS_USECONDS (duration);
-+      mDecoder->SetMediaDuration(duration);
-+    } else {
-+      mDecoder->SetMediaSeekable(false);
-+    }
-   }
- 
-   int n_video = 0, n_audio = 0;
-@@ -410,7 +428,11 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
-   *aTags = nullptr;
- 
-   // Watch the pipeline for fatal errors
-+#if GST_VERSION_MAJOR >= 1
-+  gst_bus_set_sync_handler(mBus, GStreamerReader::ErrorCb, this, nullptr);
-+#else
-   gst_bus_set_sync_handler(mBus, GStreamerReader::ErrorCb, this);
-+#endif
- 
-   /* set the pipeline to PLAYING so that it starts decoding and queueing data in
-    * the appsinks */
-@@ -424,19 +446,35 @@ nsresult GStreamerReader::CheckSupportedFormats()
-   bool done = false;
-   bool unsupported = false;
- 
--  GstIterator *it = gst_bin_iterate_recurse(GST_BIN(mPlayBin));
-+  GstIterator* it = gst_bin_iterate_recurse(GST_BIN(mPlayBin));
-   while (!done) {
-+    GstIteratorResult res;
-     GstElement* element;
--    GstIteratorResult res = gst_iterator_next(it, (void **)&element);
-+
-+#if GST_VERSION_MAJOR >= 1
-+    GValue value = {0,};
-+    res = gst_iterator_next(it, &value);
-+#else
-+    res = gst_iterator_next(it, (void **) &element);
-+#endif
-     switch(res) {
-       case GST_ITERATOR_OK:
-       {
-+#if GST_VERSION_MAJOR >= 1
-+        element = GST_ELEMENT (g_value_get_object (&value));
-+#endif
-         GstElementFactory* factory = gst_element_get_factory(element);
-         if (factory) {
-           const char* klass = gst_element_factory_get_klass(factory);
--          GstPad* pad = gst_element_get_pad(element, "sink");
-+          GstPad* pad = gst_element_get_static_pad(element, "sink");
-           if (pad) {
--            GstCaps* caps = gst_pad_get_negotiated_caps(pad);
-+            GstCaps* caps;
-+
-+#if GST_VERSION_MAJOR >= 1
-+            caps = gst_pad_get_current_caps(pad);
-+#else
-+            caps = gst_pad_get_negotiated_caps(pad);
-+#endif
- 
-             if (caps) {
-               /* check for demuxers but ignore elements like id3demux */
-@@ -451,7 +489,11 @@ nsresult GStreamerReader::CheckSupportedFormats()
-           }
-         }
- 
-+#if GST_VERSION_MAJOR >= 1
-+        g_value_unset (&value);
-+#else
-         gst_object_unref(element);
-+#endif
-         done = unsupported;
-         break;
-       }
-@@ -475,6 +517,8 @@ nsresult GStreamerReader::ResetDecode()
- {
-   nsresult res = NS_OK;
- 
-+  LOG(PR_LOG_DEBUG, "reset decode");
-+
-   if (NS_FAILED(MediaDecoderReader::ResetDecode())) {
-     res = NS_ERROR_FAILURE;
-   }
-@@ -485,6 +529,11 @@ nsresult GStreamerReader::ResetDecode()
-   mVideoSinkBufferCount = 0;
-   mAudioSinkBufferCount = 0;
-   mReachedEos = false;
-+#if GST_VERSION_MAJOR >= 1
-+  mConfigureAlignment = true;
-+#endif
-+
-+  LOG(PR_LOG_DEBUG, "reset decode done");
- 
-   return res;
- }
-@@ -508,11 +557,11 @@ bool GStreamerReader::DecodeAudioData()
-         /* We have nothing decoded so it makes no sense to return to the state machine
-          * as it will call us back immediately, we'll return again and so on, wasting
-          * CPU cycles for no job done. So, block here until there is either video or
--         * audio data available 
-+         * audio data available
-         */
-         mon.Wait();
-         if (!mAudioSinkBufferCount) {
--          /* There is still no audio data available, so either there is video data or 
-+          /* There is still no audio data available, so either there is video data or
-            * something else has happened (Eos, etc...). Return to the state machine
-            * to process it.
-            */
-@@ -533,24 +584,44 @@ bool GStreamerReader::DecodeAudioData()
-       }
-     }
- 
-+#if GST_VERSION_MAJOR >= 1
-+    GstSample *sample = gst_app_sink_pull_sample(mAudioAppSink);
-+    buffer = gst_buffer_ref(gst_sample_get_buffer(sample));
-+    gst_sample_unref(sample);
-+#else
-     buffer = gst_app_sink_pull_buffer(mAudioAppSink);
-+#endif
-+
-     mAudioSinkBufferCount--;
-   }
- 
-   int64_t timestamp = GST_BUFFER_TIMESTAMP(buffer);
-   timestamp = gst_segment_to_stream_time(&mAudioSegment,
-       GST_FORMAT_TIME, timestamp);
-+
-   timestamp = GST_TIME_AS_USECONDS(timestamp);
-+
-   int64_t duration = 0;
-   if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer)))
-     duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer));
- 
-   int64_t offset = GST_BUFFER_OFFSET(buffer);
-+#if GST_VERSION_MAJOR >= 1
-+  GstMapInfo info;
-+  gst_buffer_map(buffer, &info, GST_MAP_READ);
-+  unsigned int size = info.size;
-+#else
-   unsigned int size = GST_BUFFER_SIZE(buffer);
-+#endif
-   int32_t frames = (size / sizeof(AudioDataValue)) / mInfo.mAudio.mChannels;
-   ssize_t outSize = static_cast<size_t>(size / sizeof(AudioDataValue));
-   nsAutoArrayPtr<AudioDataValue> data(new AudioDataValue[outSize]);
-+#if GST_VERSION_MAJOR >= 1
-+  memcpy(data, info.data, info.size);
-+  gst_buffer_unmap(buffer, &info);
-+#else
-   memcpy(data, GST_BUFFER_DATA(buffer), GST_BUFFER_SIZE(buffer));
-+#endif
-   AudioData* audio = new AudioData(offset, timestamp, duration,
-       frames, data.forget(), mInfo.mAudio.mChannels);
- 
-@@ -552,7 +620,7 @@ bool GStreamerReader::DecodeAudioData()
- }
- 
- bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
--                                         int64_t aTimeThreshold)
-+                                       int64_t aTimeThreshold)
- {
-   NS_ASSERTION(mDecoder->OnDecodeThread(), "Should be on decode thread.");
- 
-@@ -571,11 +639,11 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
-         /* We have nothing decoded so it makes no sense to return to the state machine
-          * as it will call us back immediately, we'll return again and so on, wasting
-          * CPU cycles for no job done. So, block here until there is either video or
--         * audio data available 
-+         * audio data available
-         */
-         mon.Wait();
-         if (!mVideoSinkBufferCount) {
--          /* There is still no video data available, so either there is audio data or 
-+          /* There is still no video data available, so either there is audio data or
-            * something else has happened (Eos, etc...). Return to the state machine
-            * to process it
-            */
-@@ -589,11 +657,17 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
- 
-     mDecoder->NotifyDecodedFrames(0, 1);
- 
-+#if GST_VERSION_MAJOR >= 1
-+    GstSample *sample = gst_app_sink_pull_sample(mVideoAppSink);
-+    buffer = gst_buffer_ref(gst_sample_get_buffer(sample));
-+    gst_sample_unref(sample);
-+#else
-     buffer = gst_app_sink_pull_buffer(mVideoAppSink);
-+#endif
-     mVideoSinkBufferCount--;
-   }
- 
--  bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DISCONT);
-+  bool isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT);
-   if ((aKeyFrameSkip && !isKeyframe)) {
-     gst_buffer_unref(buffer);
-     return true;
-@@ -611,10 +687,18 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
-                "frame has invalid timestamp");
- 
-   timestamp = GST_TIME_AS_USECONDS(timestamp);
-+  int64_t duration;
-+  if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer)))
-+    duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer));
-+  else if (fpsNum && fpsDen)
-+    /* add 1-frame duration */
-+    duration = gst_util_uint64_scale(GST_USECOND, fpsDen, fpsNum);
-+
-   if (timestamp < aTimeThreshold) {
-     LOG(PR_LOG_DEBUG, "skipping frame %" GST_TIME_FORMAT
-                       " threshold %" GST_TIME_FORMAT,
--                      GST_TIME_ARGS(timestamp), GST_TIME_ARGS(aTimeThreshold));
-+                      GST_TIME_ARGS(timestamp * 1000),
-+                      GST_TIME_ARGS(aTimeThreshold * 1000));
-     gst_buffer_unref(buffer);
-     return true;
-   }
-@@ -623,61 +707,36 @@ bool GStreamerReader::DecodeVideoFrame(bool &aKeyFrameSkip,
-     /* no more frames */
-     return false;
- 
--  int64_t duration = 0;
--  if (GST_CLOCK_TIME_IS_VALID(GST_BUFFER_DURATION(buffer)))
--    duration = GST_TIME_AS_USECONDS(GST_BUFFER_DURATION(buffer));
--  else if (fpsNum && fpsDen)
--    /* 1-frame duration */
--    duration = gst_util_uint64_scale(GST_USECOND, fpsNum, fpsDen);
--
--  nsRefPtr<PlanarYCbCrImage> image;
--  GstMozVideoBufferData* bufferdata = reinterpret_cast<GstMozVideoBufferData*>
--      GST_IS_MOZ_VIDEO_BUFFER(buffer)?gst_moz_video_buffer_get_data(GST_MOZ_VIDEO_BUFFER(buffer)):nullptr;
--
--  if(bufferdata)
--    image = bufferdata->mImage;
-+#if GST_VERSION_MAJOR >= 1
-+  if (mConfigureAlignment && buffer->pool) {
-+    GstStructure *config = gst_buffer_pool_get_config(buffer->pool);
-+    GstVideoAlignment align;
-+    if (gst_buffer_pool_config_get_video_alignment(config, &align))
-+      gst_video_info_align(&mVideoInfo, &align);
-+    gst_structure_free(config);
-+    mConfigureAlignment = false;
-+  }
-+#endif
- 
-+  nsRefPtr<PlanarYCbCrImage> image = GetImageFromBuffer(buffer);
-   if (!image) {
-     /* Ugh, upstream is not calling gst_pad_alloc_buffer(). Fallback to
-      * allocating a PlanarYCbCrImage backed GstBuffer here and memcpy.
-      */
-     GstBuffer* tmp = nullptr;
--    AllocateVideoBufferFull(nullptr, GST_BUFFER_OFFSET(buffer),
--        GST_BUFFER_SIZE(buffer), nullptr, &tmp, image);
--
--    /* copy */
--    gst_buffer_copy_metadata(tmp, buffer, (GstBufferCopyFlags)GST_BUFFER_COPY_ALL);
--    memcpy(GST_BUFFER_DATA(tmp), GST_BUFFER_DATA(buffer),
--        GST_BUFFER_SIZE(tmp));
-+    CopyIntoImageBuffer(buffer, &tmp, image);
-     gst_buffer_unref(buffer);
-     buffer = tmp;
-   }
- 
--  guint8* data = GST_BUFFER_DATA(buffer);
--
--  int width = mPicture.width;
--  int height = mPicture.height;
--  GstVideoFormat format = mFormat;
--
--  VideoData::YCbCrBuffer b;
--  for(int i = 0; i < 3; i++) {
--    b.mPlanes[i].mData = data + gst_video_format_get_component_offset(format, i,
--        width, height);
--    b.mPlanes[i].mStride = gst_video_format_get_row_stride(format, i, width);
--    b.mPlanes[i].mHeight = gst_video_format_get_component_height(format,
--        i, height);
--    b.mPlanes[i].mWidth = gst_video_format_get_component_width(format,
--        i, width);
--    b.mPlanes[i].mOffset = 0;
--    b.mPlanes[i].mSkip = 0;
--  }
--
--  isKeyframe = !GST_BUFFER_FLAG_IS_SET(buffer, GST_BUFFER_FLAG_DELTA_UNIT);
-   int64_t offset = mDecoder->GetResource()->Tell(); // Estimate location in media.
--  VideoData* video = VideoData::Create(mInfo.mVideo, image, offset,
--                                       timestamp, duration, b,
--                                       isKeyframe, -1, mPicture);
-+  VideoData* video = VideoData::CreateFromImage(mInfo.mVideo,
-+                                                mDecoder->GetImageContainer(),
-+                                                offset, timestamp, duration,
-+                                                static_cast<Image*>(image.get()),
-+                                                isKeyframe, -1, mPicture);
-   mVideoQueue.Push(video);
-+
-   gst_buffer_unref(buffer);
- 
-   return true;
-@@ -698,6 +755,10 @@ nsresult GStreamerReader::Seek(int64_t aTarget,
-     return NS_ERROR_FAILURE;
-   }
-   LOG(PR_LOG_DEBUG, "seek succeeded");
-+  GstMessage* message = gst_bus_timed_pop_filtered(mBus, GST_CLOCK_TIME_NONE,
-+               (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR));
-+  gst_message_unref(message);
-+  LOG(PR_LOG_DEBUG, "seek completed");
- 
-   return DecodeToTarget(aTarget);
- }
-@@ -709,7 +770,9 @@ nsresult GStreamerReader::GetBuffered(dom::TimeRanges* aBuffered,
-     return NS_OK;
-   }
- 
-+#if GST_VERSION_MAJOR == 0
-   GstFormat format = GST_FORMAT_TIME;
-+#endif
-   MediaResource* resource = mDecoder->GetResource();
-   nsTArray<MediaByteRange> ranges;
-   resource->GetCachedRanges(ranges);
-@@ -731,12 +794,21 @@ nsresult GStreamerReader::GetBuffered(dom::TimeRanges* aBuffered,
-     int64_t endOffset = ranges[index].mEnd;
-     gint64 startTime, endTime;
- 
-+#if GST_VERSION_MAJOR >= 1
-+    if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
-+      startOffset, GST_FORMAT_TIME, &startTime))
-+      continue;
-+    if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
-+      endOffset, GST_FORMAT_TIME, &endTime))
-+      continue;
-+#else
-     if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
-       startOffset, &format, &startTime) || format != GST_FORMAT_TIME)
-       continue;
-     if (!gst_element_query_convert(GST_ELEMENT(mPlayBin), GST_FORMAT_BYTES,
-       endOffset, &format, &endTime) || format != GST_FORMAT_TIME)
-       continue;
-+#endif
- 
-     double start = (double) GST_TIME_AS_USECONDS (startTime) / GST_MSECOND;
-     double end = (double) GST_TIME_AS_USECONDS (endTime) / GST_MSECOND;
-@@ -755,7 +827,13 @@ void GStreamerReader::ReadAndPushData(guint aLength)
-   nsresult rv = NS_OK;
- 
-   GstBuffer* buffer = gst_buffer_new_and_alloc(aLength);
-+#if GST_VERSION_MAJOR >= 1
-+  GstMapInfo info;
-+  gst_buffer_map(buffer, &info, GST_MAP_WRITE);
-+  guint8 *data = info.data;
-+#else
-   guint8* data = GST_BUFFER_DATA(buffer);
-+#endif
-   uint32_t size = 0, bytesRead = 0;
-   while(bytesRead < aLength) {
-     rv = resource->Read(reinterpret_cast<char*>(data + bytesRead),
-@@ -780,7 +860,12 @@ void GStreamerReader::ReadAndPushData(guint aLength)
-   int64_t offset2 = resource->Tell();
-   unused << offset2;
- 
-+#if GST_VERSION_MAJOR >= 1
-+  gst_buffer_unmap(buffer, &info);
-+  gst_buffer_set_size(buffer, bytesRead);
-+#else
-   GST_BUFFER_SIZE(buffer) = bytesRead;
-+#endif
- 
-   GstFlowReturn ret = gst_app_src_push_buffer(mSource, gst_buffer_ref(buffer));
-   if (ret != GST_FLOW_OK) {
-@@ -786,8 +869,13 @@ int64_t GStreamerReader::QueryDuration()
-   gint64 duration = 0;
-   GstFormat format = GST_FORMAT_TIME;
- 
-+#if GST_VERSION_MAJOR >= 1
-+  if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-+      format, &duration)) {
-+#else
-   if (gst_element_query_duration(GST_ELEMENT(mPlayBin),
-       &format, &duration)) {
-+#endif
-     if (format == GST_FORMAT_TIME) {
-       LOG(PR_LOG_DEBUG, "pipeline duration %" GST_TIME_FORMAT,
-             GST_TIME_ARGS (duration));
-@@ -893,109 +984,6 @@ gboolean GStreamerReader::SeekData(GstAppSrc* aSrc, guint64 aOffset)
-   return NS_SUCCEEDED(rv);
- }
- 
--gboolean GStreamerReader::EventProbeCb(GstPad* aPad,
--                                         GstEvent* aEvent,
--                                         gpointer aUserData)
--{
--  GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(aUserData);
--  return reader->EventProbe(aPad, aEvent);
--}
--
--gboolean GStreamerReader::EventProbe(GstPad* aPad, GstEvent* aEvent)
--{
--  GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad));
--  switch(GST_EVENT_TYPE(aEvent)) {
--    case GST_EVENT_NEWSEGMENT:
--    {
--      gboolean update;
--      gdouble rate;
--      GstFormat format;
--      gint64 start, stop, position;
--      GstSegment* segment;
--
--      /* Store the segments so we can convert timestamps to stream time, which
--       * is what the upper layers sync on.
--       */
--      ReentrantMonitorAutoEnter mon(mGstThreadsMonitor);
--      gst_event_parse_new_segment(aEvent, &update, &rate, &format,
--          &start, &stop, &position);
--      if (parent == GST_ELEMENT(mVideoAppSink))
--        segment = &mVideoSegment;
--      else
--        segment = &mAudioSegment;
--      gst_segment_set_newsegment(segment, update, rate, format,
--          start, stop, position);
--      break;
--    }
--    case GST_EVENT_FLUSH_STOP:
--      /* Reset on seeks */
--      ResetDecode();
--      break;
--    default:
--      break;
--  }
--  gst_object_unref(parent);
--
--  return TRUE;
--}
--
--GstFlowReturn GStreamerReader::AllocateVideoBufferFull(GstPad* aPad,
--                                                       guint64 aOffset,
--                                                       guint aSize,
--                                                       GstCaps* aCaps,
--                                                       GstBuffer** aBuf,
--                                                       nsRefPtr<PlanarYCbCrImage>& aImage)
--{
--  /* allocate an image using the container */
--  ImageContainer* container = mDecoder->GetImageContainer();
--  if (!container) {
--    // We don't have an ImageContainer. We probably belong to an <audio>
--    // element.
--    return GST_FLOW_NOT_SUPPORTED;
--  }
--  PlanarYCbCrImage* img =
--    reinterpret_cast<PlanarYCbCrImage*>(
--      container->CreateImage(ImageFormat::PLANAR_YCBCR).get());
--  nsRefPtr<PlanarYCbCrImage> image = dont_AddRef(img);
--
--  /* prepare a GstBuffer pointing to the underlying PlanarYCbCrImage buffer */
--  GstBuffer* buf = GST_BUFFER(gst_moz_video_buffer_new());
--  GST_BUFFER_SIZE(buf) = aSize;
--  /* allocate the actual YUV buffer */
--  GST_BUFFER_DATA(buf) = image->AllocateAndGetNewBuffer(aSize);
--
--  aImage = image;
--
--  /* create a GstMozVideoBufferData to hold the image */
--  GstMozVideoBufferData* bufferdata = new GstMozVideoBufferData(image);
--
--  /* Attach bufferdata to our GstMozVideoBuffer, it will take care to free it */
--  gst_moz_video_buffer_set_data(GST_MOZ_VIDEO_BUFFER(buf), bufferdata);
--
--  *aBuf = buf;
--  return GST_FLOW_OK;
--}
--
--GstFlowReturn GStreamerReader::AllocateVideoBufferCb(GstPad* aPad,
--                                                     guint64 aOffset,
--                                                     guint aSize,
--                                                     GstCaps* aCaps,
--                                                     GstBuffer** aBuf)
--{
--  GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad));
--  return reader->AllocateVideoBuffer(aPad, aOffset, aSize, aCaps, aBuf);
--}
--
--GstFlowReturn GStreamerReader::AllocateVideoBuffer(GstPad* aPad,
--                                                   guint64 aOffset,
--                                                   guint aSize,
--                                                   GstCaps* aCaps,
--                                                   GstBuffer** aBuf)
--{
--  nsRefPtr<PlanarYCbCrImage> image;
--  return AllocateVideoBufferFull(aPad, aOffset, aSize, aCaps, aBuf, image);
--}
--
- GstFlowReturn GStreamerReader::NewPrerollCb(GstAppSink* aSink,
-                                               gpointer aUserData)
- {
-@@ -979,8 +970,12 @@ void GStreamerReader::AudioPreroll()
- {
-   /* The first audio buffer has reached the audio sink. Get rate and channels */
-   LOG(PR_LOG_DEBUG, "Audio preroll");
--  GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+  GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+#if GST_VERSION_MAJOR >= 1
-+  GstCaps *caps = gst_pad_get_current_caps(sinkpad);
-+#else
-   GstCaps* caps = gst_pad_get_negotiated_caps(sinkpad);
-+#endif
-   GstStructure* s = gst_caps_get_structure(caps, 0);
-   mInfo.mAudio.mRate = mInfo.mAudio.mChannels = 0;
-   gst_structure_get_int(s, "rate", (gint*) &mInfo.mAudio.mRate);
-@@ -998,9 +993,18 @@ void GStreamerReader::VideoPreroll()
- {
-   /* The first video buffer has reached the video sink. Get width and height */
-   LOG(PR_LOG_DEBUG, "Video preroll");
--  GstPad* sinkpad = gst_element_get_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+  GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+#if GST_VERSION_MAJOR >= 1
-+  GstCaps* caps = gst_pad_get_current_caps(sinkpad);
-+  memset (&mVideoInfo, 0, sizeof (mVideoInfo));
-+  gst_video_info_from_caps(&mVideoInfo, caps);
-+  mFormat = mVideoInfo.finfo->format;
-+  mPicture.width = mVideoInfo.width;
-+  mPicture.height = mVideoInfo.height;
-+#else
-   GstCaps* caps = gst_pad_get_negotiated_caps(sinkpad);
-   gst_video_format_parse_caps(caps, &mFormat, &mPicture.width, &mPicture.height);
-+#endif
-   GstStructure* structure = gst_caps_get_structure(caps, 0);
-   gst_structure_get_fraction(structure, "framerate", &fpsNum, &fpsDen);
-   NS_ASSERTION(mPicture.width && mPicture.height, "invalid video resolution");
-@@ -1029,6 +1033,7 @@ void GStreamerReader::NewVideoBuffer()
-   /* We have a new video buffer queued in the video sink. Increment the counter
-    * and notify the decode thread potentially blocked in DecodeVideoFrame
-    */
-+
-   mDecoder->NotifyDecodedFrames(1, 0);
-   mVideoSinkBufferCount++;
-   mon.NotifyAll();
-@@ -1095,5 +1100,199 @@ void GStreamerReader::NotifyDataArrived(const char *aBuffer,
-   }
- }
- 
-+#if GST_VERSION_MAJOR >= 1
-+GstCaps* GStreamerReader::BuildAudioSinkCaps()
-+{
-+  GstCaps* caps = gst_caps_from_string("audio/x-raw, channels={1,2}");
-+  const char* format;
-+#ifdef MOZ_SAMPLE_TYPE_FLOAT32
-+#ifdef IS_LITTLE_ENDIAN
-+  format = "F32LE";
-+#else
-+  format = "F32BE";
-+#endif
-+#else /* !MOZ_SAMPLE_TYPE_FLOAT32 */
-+#ifdef IS_LITTLE_ENDIAN
-+  format = "S16LE";
-+#else
-+  format = "S16BE";
-+#endif
-+#endif
-+  gst_caps_set_simple(caps, "format", G_TYPE_STRING, format, nullptr);
-+
-+  return caps;
-+}
-+
-+void GStreamerReader::InstallPadCallbacks()
-+{
-+  GstPad* sinkpad = gst_element_get_static_pad(GST_ELEMENT(mVideoAppSink), "sink");
-+
-+  gst_pad_add_probe(sinkpad,
-+      (GstPadProbeType) (GST_PAD_PROBE_TYPE_SCHEDULING |
-+        GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
-+        GST_PAD_PROBE_TYPE_EVENT_UPSTREAM |
-+        GST_PAD_PROBE_TYPE_EVENT_FLUSH),
-+      &GStreamerReader::EventProbeCb, this, nullptr);
-+  gst_pad_add_probe(sinkpad, GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM,
-+      GStreamerReader::QueryProbeCb, nullptr, nullptr);
-+
-+  gst_pad_set_element_private(sinkpad, this);
-+  gst_object_unref(sinkpad);
-+
-+  sinkpad = gst_element_get_static_pad(GST_ELEMENT(mAudioAppSink), "sink");
-+  gst_pad_add_probe(sinkpad,
-+      (GstPadProbeType) (GST_PAD_PROBE_TYPE_SCHEDULING |
-+        GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM |
-+        GST_PAD_PROBE_TYPE_EVENT_UPSTREAM |
-+        GST_PAD_PROBE_TYPE_EVENT_FLUSH),
-+      &GStreamerReader::EventProbeCb, this, nullptr);
-+  gst_object_unref(sinkpad);
-+}
-+
-+GstPadProbeReturn GStreamerReader::EventProbeCb(GstPad *aPad,
-+                                                GstPadProbeInfo *aInfo,
-+                                                gpointer aUserData)
-+{
-+  GStreamerReader *reader = (GStreamerReader *) aUserData;
-+  GstEvent *aEvent = (GstEvent *)aInfo->data;
-+  return reader->EventProbe(aPad, aEvent);
-+}
-+
-+GstPadProbeReturn GStreamerReader::EventProbe(GstPad *aPad, GstEvent *aEvent)
-+{
-+  GstElement* parent = GST_ELEMENT(gst_pad_get_parent(aPad));
-+
-+  LOG(PR_LOG_DEBUG, "event probe %s", GST_EVENT_TYPE_NAME (aEvent));
-+
-+  switch(GST_EVENT_TYPE(aEvent)) {
-+    case GST_EVENT_SEGMENT:
-+    {
-+      const GstSegment *newSegment;
-+      GstSegment* segment;
-+
-+      /* Store the segments so we can convert timestamps to stream time, which
-+       * is what the upper layers sync on.
-+       */
-+      ReentrantMonitorAutoEnter mon(mGstThreadsMonitor);
-+#if GST_VERSION_MINOR <= 1 && GST_VERSION_MICRO < 1
-+      ResetDecode();
-+#endif
-+      gst_event_parse_segment(aEvent, &newSegment);
-+      if (parent == GST_ELEMENT(mVideoAppSink))
-+        segment = &mVideoSegment;
-+      else
-+        segment = &mAudioSegment;
-+      gst_segment_copy_into (newSegment, segment);
-+      break;
-+    }
-+    case GST_EVENT_FLUSH_STOP:
-+      /* Reset on seeks */
-+      ResetDecode();
-+      break;
-+    default:
-+      break;
-+  }
-+  gst_object_unref(parent);
-+
-+  return GST_PAD_PROBE_OK;
-+}
-+
-+GstPadProbeReturn GStreamerReader::QueryProbeCb(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData)
-+{
-+  GStreamerReader* reader = reinterpret_cast<GStreamerReader*>(gst_pad_get_element_private(aPad));
-+  return reader->QueryProbe(aPad, aInfo, aUserData);
-+}
-+
-+GstPadProbeReturn GStreamerReader::QueryProbe(GstPad* aPad, GstPadProbeInfo* aInfo, gpointer aUserData)
-+{
-+  GstQuery *query = gst_pad_probe_info_get_query(aInfo);
-+  GstPadProbeReturn ret = GST_PAD_PROBE_OK;
-+
-+  switch (GST_QUERY_TYPE (query)) {
-+    case GST_QUERY_ALLOCATION:
-+      GstCaps *caps;
-+      GstVideoInfo info;
-+      gboolean need_pool;
-+
-+      gst_query_parse_allocation(query, &caps, &need_pool);
-+      gst_video_info_init(&info);
-+      gst_video_info_from_caps(&info, caps);
-+      gst_query_add_allocation_param(query, mAllocator, nullptr);
-+      gst_query_add_allocation_pool(query, mBufferPool, info.size, 0, 0);
-+      gst_query_add_allocation_meta(query, GST_VIDEO_META_API_TYPE, nullptr);
-+      break;
-+    default:
-+      break;
-+  }
-+
-+  return ret;
-+}
-+
-+void GStreamerReader::ImageDataFromVideoFrame(GstVideoFrame *aFrame,
-+                                              PlanarYCbCrImage::Data *aData)
-+{
-+  NS_ASSERTION(GST_VIDEO_INFO_IS_YUV(&mVideoInfo),
-+               "Non-YUV video frame formats not supported");
-+  NS_ASSERTION(GST_VIDEO_FRAME_N_COMPONENTS(aFrame) == 3,
-+               "Unsupported number of components in video frame");
-+
-+  aData->mPicX = aData->mPicY = 0;
-+  aData->mPicSize = gfx::IntSize(mPicture.width, mPicture.height);
-+  aData->mStereoMode = StereoMode::MONO;
-+
-+  aData->mYChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 0);
-+  aData->mYStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 0);
-+  aData->mYSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 0),
-+                          GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 0));
-+  aData->mYSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 0) - 1;
-+  aData->mCbCrStride = GST_VIDEO_FRAME_COMP_STRIDE(aFrame, 1);
-+  aData->mCbCrSize = gfx::IntSize(GST_VIDEO_FRAME_COMP_WIDTH(aFrame, 1),
-+                             GST_VIDEO_FRAME_COMP_HEIGHT(aFrame, 1));
-+  aData->mCbChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 1);
-+  aData->mCrChannel = GST_VIDEO_FRAME_COMP_DATA(aFrame, 2);
-+  aData->mCbSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 1) - 1;
-+  aData->mCrSkip = GST_VIDEO_FRAME_COMP_PSTRIDE(aFrame, 2) - 1;
-+}
-+
-+nsRefPtr<PlanarYCbCrImage> GStreamerReader::GetImageFromBuffer(GstBuffer* aBuffer)
-+{
-+  nsRefPtr<PlanarYCbCrImage> image = nullptr;
-+
-+  if (gst_buffer_n_memory(aBuffer) == 1) {
-+    GstMemory* mem = gst_buffer_peek_memory(aBuffer, 0);
-+    if (GST_IS_MOZ_GFX_MEMORY_ALLOCATOR(mem->allocator)) {
-+      image = moz_gfx_memory_get_image(mem);
-+
-+      GstVideoFrame frame;
-+      gst_video_frame_map(&frame, &mVideoInfo, aBuffer, GST_MAP_READ);
-+      PlanarYCbCrImage::Data data;
-+      ImageDataFromVideoFrame(&frame, &data);
-+      image->SetDataNoCopy(data);
-+      gst_video_frame_unmap(&frame);
-+    }
-+  }
-+
-+  return image;
-+}
-+
-+void GStreamerReader::CopyIntoImageBuffer(GstBuffer* aBuffer,
-+                                          GstBuffer** aOutBuffer,
-+                                          nsRefPtr<PlanarYCbCrImage> &image)
-+{
-+  *aOutBuffer = gst_buffer_new_allocate(mAllocator, gst_buffer_get_size(aBuffer), nullptr);
-+  GstMemory *mem = gst_buffer_peek_memory(*aOutBuffer, 0);
-+  GstMapInfo map_info;
-+  gst_memory_map(mem, &map_info, GST_MAP_WRITE);
-+  gst_buffer_extract(aBuffer, 0, map_info.data, gst_buffer_get_size(aBuffer));
-+  gst_memory_unmap(mem, &map_info);
-+
-+  /* create a new gst buffer with the newly created memory and copy the
-+   * metadata over from the incoming buffer */
-+  gst_buffer_copy_into(*aOutBuffer, aBuffer,
-+      (GstBufferCopyFlags)(GST_BUFFER_COPY_METADATA), 0, -1);
-+  image = GetImageFromBuffer(*aOutBuffer);
-+}
-+#endif
-+
- } // namespace mozilla
- 
-diff --git content/media/gstreamer/GStreamerReader.h content/media/gstreamer/GStreamerReader.h
-index 1e30bed..6a90702 100644
---- content/media/gstreamer/GStreamerReader.h
-+++ content/media/gstreamer/GStreamerReader.h
-@@ -22,6 +22,7 @@
- 
- #include "MediaDecoderReader.h"
- #include "MP3FrameParser.h"
-+#include "ImageContainer.h"
- #include "nsRect.h"
- 
- namespace mozilla {
-@@ -30,10 +31,6 @@ namespace dom {
- class TimeRanges;
- }
- 
--namespace layers {
--class PlanarYCbCrImage;
--}
--
- class AbstractMediaDecoder;
- 
- class GStreamerReader : public MediaDecoderReader
-@@ -67,10 +64,20 @@ public:
-     return mInfo.HasVideo();
-   }
- 
-+  layers::ImageContainer* GetImageContainer() { return mDecoder->GetImageContainer(); }
-+
- private:
- 
-   void ReadAndPushData(guint aLength);
-   int64_t QueryDuration();
-+  nsRefPtr<layers::PlanarYCbCrImage> GetImageFromBuffer(GstBuffer* aBuffer);
-+  void CopyIntoImageBuffer(GstBuffer *aBuffer, GstBuffer** aOutBuffer, nsRefPtr<layers::PlanarYCbCrImage> &image);
-+  GstCaps* BuildAudioSinkCaps();
-+  void InstallPadCallbacks();
-+
-+#if GST_VERSION_MAJOR >= 1
-+  void ImageDataFromVideoFrame(GstVideoFrame *aFrame, layers::PlanarYCbCrImage::Data *aData);
-+#endif
- 
-   /* Called once the pipeline is setup to check that the stream only contains
-    * supported formats
-@@ -105,20 +112,31 @@ private:
-   gboolean SeekData(GstAppSrc* aSrc, guint64 aOffset);
- 
-   /* Called when events reach the sinks. See inline comments */
-+#if GST_VERSION_MAJOR == 1
-+  static GstPadProbeReturn EventProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData);
-+  GstPadProbeReturn EventProbe(GstPad *aPad, GstEvent *aEvent);
-+#else
-   static gboolean EventProbeCb(GstPad* aPad, GstEvent* aEvent, gpointer aUserData);
-   gboolean EventProbe(GstPad* aPad, GstEvent* aEvent);
-+#endif
- 
--  /* Called when elements in the video branch of the pipeline call
--   * gst_pad_alloc_buffer(). Used to provide PlanarYCbCrImage backed GstBuffers
--   * to the pipeline so that a memory copy can be avoided when handling YUV
--   * buffers from the pipeline to the gfx side.
-+  /* Called when the video part of the pipeline allocates buffers. Used to
-+   * provide PlanarYCbCrImage backed GstBuffers to the pipeline so that a memory
-+   * copy can be avoided when handling YUV buffers from the pipeline to the gfx
-+   * side.
-    */
-+#if GST_VERSION_MAJOR == 1
-+  static GstPadProbeReturn QueryProbeCb(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData);
-+  GstPadProbeReturn QueryProbe(GstPad *aPad, GstPadProbeInfo *aInfo, gpointer aUserData);
-+#else
-   static GstFlowReturn AllocateVideoBufferCb(GstPad* aPad, guint64 aOffset, guint aSize,
-                                              GstCaps* aCaps, GstBuffer** aBuf);
-   GstFlowReturn AllocateVideoBufferFull(GstPad* aPad, guint64 aOffset, guint aSize,
-                                      GstCaps* aCaps, GstBuffer** aBuf, nsRefPtr<layers::PlanarYCbCrImage>& aImage);
-   GstFlowReturn AllocateVideoBuffer(GstPad* aPad, guint64 aOffset, guint aSize,
-                                      GstCaps* aCaps, GstBuffer** aBuf);
-+#endif
-+
- 
-   /* Called when the pipeline is prerolled, that is when at start or after a
-    * seek, the first audio and video buffers are queued in the sinks.
-@@ -150,6 +168,11 @@ private:
-   bool mUseParserDuration;
-   int64_t mLastParserDuration;
- 
-+#if GST_VERSION_MAJOR >= 1
-+  GstAllocator *mAllocator;
-+  GstBufferPool *mBufferPool;
-+  GstVideoInfo mVideoInfo;
-+#endif
-   GstElement* mPlayBin;
-   GstBus* mBus;
-   GstAppSrc* mSource;
-@@ -180,6 +203,9 @@ private:
-    * DecodeAudioData and DecodeVideoFrame should not expect any more data
-    */
-   bool mReachedEos;
-+#if GST_VERSION_MAJOR >= 1
-+  bool mConfigureAlignment;
-+#endif
-   int fpsNum;
-   int fpsDen;
- };
-diff --git content/media/gstreamer/moz.build content/media/gstreamer/moz.build
-index 7d51bf5..a3c1856 100644
---- content/media/gstreamer/moz.build
-+++ content/media/gstreamer/moz.build
-@@ -15,10 +15,19 @@ SOURCES += [
-     'GStreamerDecoder.cpp',
-     'GStreamerFormatHelper.cpp',
-     'GStreamerLoader.cpp',
--    'GStreamerMozVideoBuffer.cpp',
-     'GStreamerReader.cpp',
- ]
- 
-+if CONFIG['GST_API_VERSION'] == '1.0':
-+    SOURCES += [
-+        'GStreamerAllocator.cpp',
-+    ]
-+else:
-+    SOURCES += [
-+        'GStreamerMozVideoBuffer.cpp',
-+        'GStreamerReader-0.10.cpp',
-+    ]
-+
- FAIL_ON_WARNINGS = True
- 
- FINAL_LIBRARY = 'gklayout'
-diff --git content/media/test/manifest.js content/media/test/manifest.js
-index 6e39753..3c8c3b9 100644
---- content/media/test/manifest.js
-+++ content/media/test/manifest.js
-@@ -357,9 +357,9 @@ var gUnseekableTests = [
-   { name:"bogus.duh", type:"bogus/duh"}
- ];
- // Unfortunately big-buck-bunny-unseekable.mp4 is doesn't play on Windows 7, so
--// only include it in the unseekable tests if we're on later versions of Windows.
--if (navigator.userAgent.indexOf("Windows") == -1 ||
--    IsWindows8OrLater()) {
-+// only include it in the unseekable tests if we're on later versions of Windows. 
-+// This test actually only passes on win8 at the moment.
-+if (navigator.userAgent.indexOf("Windows") != -1 && IsWindows8OrLater()) {
-   gUnseekableTests = gUnseekableTests.concat([
-     { name:"big-buck-bunny-unseekable.mp4", type:"video/mp4" }
-   ]);

Modified: trunk/www/firefox/files/patch-bug847568
==============================================================================
--- trunk/www/firefox/files/patch-bug847568	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox/files/patch-bug847568	Tue Apr 29 07:51:23 2014	(r1581)
@@ -86,21 +86,20 @@
  dnl Check for pixman and cairo
  dnl ========================================================
  
-diff --git content/base/src/Makefile.in content/base/src/Makefile.in
-index a618096..596901a 100644
---- content/base/src/Makefile.in
-+++ content/base/src/Makefile.in
-@@ -5,6 +5,10 @@
- 
- include $(topsrcdir)/config/rules.mk
- 
-+ifdef MOZ_NATIVE_HARFBUZZ
-+nsContentUtils.$(OBJ_SUFFIX): CXXFLAGS+=$(MOZ_HARFBUZZ_CFLAGS)
-+endif
-+
- # gcc requires -msse2 for this file since it uses SSE2 intrinsics.  (See bug
- # 585538 comment 12.)
- ifneq (,$(INTEL_ARCHITECTURE))
+diff --git content/base/src/moz.build content/base/src/moz.build
+index d4f6380..0ee55df 100644
+--- content/base/src/moz.build
++++ content/base/src/moz.build
+@@ -179,6 +179,9 @@ SOURCES += [
+     'nsObjectLoadingContent.cpp',
+ ]
+ 
++if CONFIG['MOZ_NATIVE_HARFBUZZ']:
++    SOURCES['nsContentUtils.cpp'].flags += [CONFIG['MOZ_HARFBUZZ_CFLAGS']]
++
+ EXTRA_COMPONENTS += [
+     'contentAreaDropListener.js',
+     'contentAreaDropListener.manifest',
 diff --git gfx/moz.build gfx/moz.build
 index 519aa46..6929751 100644
 --- gfx/moz.build

Deleted: trunk/www/firefox/files/patch-bug973744
==============================================================================
--- trunk/www/firefox/files/patch-bug973744	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,38 +0,0 @@
-commit 2506904
-Author: Alessandro Decina <alessandro.d@gmail.com>
-Date:   Wed Feb 19 11:30:09 2014 -0500
-
-    Bug 973744 - Remove matroska seek hack in the gstreamer media backend. r=edwin
----
- content/media/gstreamer/GStreamerReader.cpp | 21 ---------------------
- 1 file changed, 21 deletions(-)
-
-diff --git content/media/gstreamer/GStreamerReader.cpp content/media/gstreamer/GStreamerReader.cpp
-index e21ffdd..82dadeb 100644
---- content/media/gstreamer/GStreamerReader.cpp
-+++ content/media/gstreamer/GStreamerReader.cpp
-@@ -381,24 +381,6 @@ nsresult GStreamerReader::ReadMetadata(MediaInfo* aInfo,
-     /* we couldn't get this to play */
-     return ret;
- 
--  /* FIXME: workaround for a bug in matroskademux. This seek makes matroskademux
--   * parse the index */
--  LOG(PR_LOG_DEBUG, "doing matroskademux seek hack");
--  if (gst_element_seek_simple(mPlayBin, GST_FORMAT_TIME,
--        GST_SEEK_FLAG_FLUSH, 0)) {
--    /* after a seek we need to wait again for ASYNC_DONE */
--    message = gst_bus_timed_pop_filtered(mBus, 5 * GST_SECOND,
--       (GstMessageType)(GST_MESSAGE_ASYNC_DONE | GST_MESSAGE_ERROR));
--    LOG(PR_LOG_DEBUG, "matroskademux seek hack done");
--    if (GST_MESSAGE_TYPE(message) != GST_MESSAGE_ASYNC_DONE) {
--      gst_element_set_state(mPlayBin, GST_STATE_NULL);
--      gst_message_unref(message);
--      return NS_ERROR_FAILURE;
--    }
--  } else {
--    LOG(PR_LOG_DEBUG, "matroskademux seek hack failed (non fatal)");
--  }
--
-   /* report the duration */
-   gint64 duration;
- 

Deleted: trunk/www/firefox/files/patch-bug975634
==============================================================================
--- trunk/www/firefox/files/patch-bug975634	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,63 +0,0 @@
-diff --git configure.in configure.in
-index 0d9236a..0447104 100644
---- configure.in
-+++ configure.in
-@@ -8670,6 +8670,20 @@ fi
- AC_SUBST(MOZ_EM_DEBUG)
- 
- if test -n "$COMPILE_ENVIRONMENT"; then
-+AC_MSG_CHECKING([for posix_fadvise])
-+AC_TRY_LINK([#define _XOPEN_SOURCE 600
-+  #include <fcntl.h>],
-+                 [posix_fadvise(0, 0, 0, 0);],
-+                 [ac_cv___posix_fadvise=true],
-+                 [ac_cv___posix_fadvise=false])
-+
-+if test "$ac_cv___posix_fadvise" = true ; then
-+  AC_DEFINE(HAVE_POSIX_FADVISE)
-+  AC_MSG_RESULT(yes)
-+else
-+  AC_MSG_RESULT(no)
-+fi
-+
- AC_MSG_CHECKING([for posix_fallocate])
- AC_TRY_LINK([#define _XOPEN_SOURCE 600
-   #include <fcntl.h>],
-diff --git js/src/configure.in js/src/configure.in
-index da9767c..352ba14 100644
---- js/src/configure.in
-+++ js/src/configure.in
-@@ -4025,6 +4025,20 @@ AC_SUBST(CXX_VERSION)
- AC_SUBST(MSMANIFEST_TOOL)
- AC_SUBST(MOZ_LINKER)
- 
-+AC_MSG_CHECKING([for posix_fadvise])
-+AC_TRY_LINK([#define _XOPEN_SOURCE 600
-+  #include <fcntl.h>],
-+                 [posix_fadvise(0, 0, 0, 0);],
-+                 [ac_cv___posix_fadvise=true],
-+                 [ac_cv___posix_fadvise=false])
-+
-+if test "$ac_cv___posix_fadvise" = true ; then
-+  AC_DEFINE(HAVE_POSIX_FADVISE)
-+  AC_MSG_RESULT(yes)
-+else
-+  AC_MSG_RESULT(no)
-+fi
-+
- AC_MSG_CHECKING([for posix_fallocate])
- AC_TRY_LINK([#define _XOPEN_SOURCE 600
-   #include <fcntl.h>],
-diff --git xpcom/io/nsLocalFileUnix.cpp xpcom/io/nsLocalFileUnix.cpp
-index bacf06c..0e46e4a 100644
---- xpcom/io/nsLocalFileUnix.cpp
-+++ xpcom/io/nsLocalFileUnix.cpp
-@@ -382,7 +382,7 @@ nsLocalFile::OpenNSPRFileDesc(int32_t flags, int32_t mode, PRFileDesc **_retval)
-         PR_Delete(mPath.get());
-     }
- 
--#if defined(LINUX) && !defined(ANDROID)
-+#if defined(HAVE_POSIX_FADVISE)
-     if (flags & OS_READAHEAD) {
-         posix_fadvise(PR_FileDesc2NativeHandle(*_retval), 0, 0,
-                       POSIX_FADV_SEQUENTIAL);

Deleted: trunk/www/firefox/files/patch-bug977457
==============================================================================
--- trunk/www/firefox/files/patch-bug977457	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,27 +0,0 @@
-diff --git xpcom/base/nsStackWalk.cpp xpcom/base/nsStackWalk.cpp
-index bb0e15b..7641267 100644
---- xpcom/base/nsStackWalk.cpp
-+++ xpcom/base/nsStackWalk.cpp
-@@ -23,6 +23,12 @@ struct CriticalAddress {
- };
- static CriticalAddress gCriticalAddress;
- 
-+// for _Unwind_Backtrace from libcxxrt or libunwind
-+// cxxabi.h from libcxxrt implicitly includes unwind.h first
-+#if defined(HAVE__UNWIND_BACKTRACE) && !defined(_GNU_SOURCE)
-+#define _GNU_SOURCE
-+#endif
-+
- #if defined(HAVE_DLOPEN) || defined(XP_MACOSX)
- #include <dlfcn.h>
- #endif
-@@ -1222,9 +1228,6 @@ NS_StackWalk(NS_WalkStackCallback aCallback, uint32_t aSkipFrames,
- #elif defined(HAVE__UNWIND_BACKTRACE)
- 
- // libgcc_s.so symbols _Unwind_Backtrace@@GCC_3.3 and _Unwind_GetIP@@GCC_3.0
--#ifndef _GNU_SOURCE
--#define _GNU_SOURCE
--#endif
- #include <unwind.h>
- 
- struct unwind_info {

Added: trunk/www/firefox/files/patch-bug981348
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox/files/patch-bug981348	Tue Apr 29 07:51:23 2014	(r1581)
@@ -0,0 +1,41 @@
+diff --git dom/system/OSFileConstants.cpp dom/system/OSFileConstants.cpp
+index 4b21361..cb3be32 100644
+--- dom/system/OSFileConstants.cpp
++++ dom/system/OSFileConstants.cpp
+@@ -596,7 +596,7 @@ static const dom::ConstantSpec gLibcProperties[] =
+ 
+   { "OSFILE_SIZEOF_STATVFS", INT_TO_JSVAL(sizeof (struct statvfs)) },
+ 
+-  { "OSFILE_OFFSETOF_STATVFS_F_BSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_bsize)) },
++  { "OSFILE_OFFSETOF_STATVFS_F_FRSIZE", INT_TO_JSVAL(offsetof (struct statvfs, f_frsize)) },
+   { "OSFILE_OFFSETOF_STATVFS_F_BAVAIL", INT_TO_JSVAL(offsetof (struct statvfs, f_bavail)) },
+ 
+ #endif // defined(XP_UNIX)
+diff --git toolkit/components/osfile/modules/osfile_unix_back.jsm toolkit/components/osfile/modules/osfile_unix_back.jsm
+index b59fca4..0cf220b 100644
+--- toolkit/components/osfile/modules/osfile_unix_back.jsm
++++ toolkit/components/osfile/modules/osfile_unix_back.jsm
+@@ -228,8 +228,8 @@
+          let statvfs = new SharedAll.HollowStructure("statvfs",
+            Const.OSFILE_SIZEOF_STATVFS);
+ 
+-         statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BSIZE,
+-                        "f_bsize", Type.unsigned_long.implementation);
++         statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_FRSIZE,
++                        "f_frsize", Type.unsigned_long.implementation);
+          statvfs.add_field_at(Const.OSFILE_OFFSETOF_STATVFS_F_BAVAIL,
+                         "f_bavail", Type.fsblkcnt_t.implementation);
+ 
+diff --git toolkit/components/osfile/modules/osfile_unix_front.jsm toolkit/components/osfile/modules/osfile_unix_front.jsm
+index 99e5e9b..de642c5 100644
+--- toolkit/components/osfile/modules/osfile_unix_front.jsm
++++ toolkit/components/osfile/modules/osfile_unix_front.jsm
+@@ -373,7 +373,7 @@
+        throw_on_negative("statvfs",  UnixFile.statvfs(sourcePath, fileSystemInfoPtr));
+ 
+        let bytes = new Type.uint64_t.implementation(
+-                        fileSystemInfo.f_bsize * fileSystemInfo.f_bavail);
++                        fileSystemInfo.f_frsize * fileSystemInfo.f_bavail);
+ 
+        return bytes.value;
+      };

Added: trunk/www/firefox/files/patch-bug983957
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/www/firefox/files/patch-bug983957	Tue Apr 29 07:51:23 2014	(r1581)
@@ -0,0 +1,12 @@
+--- xpcom/build/IOInterposer.h~
++++ xpcom/build/IOInterposer.h
+@@ -263,9 +263,7 @@ class IOInterposerInit
+ public:
+   IOInterposerInit()
+   {
+-#if defined(MOZ_ENABLE_PROFILER_SPS)
+     IOInterposer::Init();
+-#endif
+   }
+ 
+   // No destructor needed at the moment -- this stuff stays active for the

Deleted: trunk/www/firefox/files/patch-bug985848
==============================================================================
--- trunk/www/firefox/files/patch-bug985848	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,22 +0,0 @@
---- media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
-+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/device_info_linux.cc
-@@ -19,7 +19,7 @@
- #include <stdlib.h>
- 
- //v4l includes
--#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
- #include <sys/videoio.h>
- #elif defined(__sun)
- #include <sys/videodev2.h>
---- media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
-+++ media/webrtc/trunk/webrtc/modules/video_capture/linux/video_capture_linux.cc
-@@ -18,7 +18,7 @@
- #include <string.h>
- 
- //v4l includes
--#if defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
-+#if defined(__NetBSD__) || defined(__OpenBSD__)
- #include <sys/videoio.h>
- #elif defined(__sun)
- #include <sys/videodev2.h>

Deleted: trunk/www/firefox/files/patch-bug989112
==============================================================================
--- trunk/www/firefox/files/patch-bug989112	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,10 +0,0 @@
---- content/media/gstreamer/GStreamerFunctionList.h~
-+++ content/media/gstreamer/GStreamerFunctionList.h
-@@ -122,6 +122,7 @@ GST_FUNC(LIBGSTREAMER, gst_buffer_set_size)
- GST_FUNC(LIBGSTREAMER, gst_buffer_unmap)
- GST_FUNC(LIBGSTREAMER, gst_element_factory_get_metadata)
- GST_FUNC(LIBGSTREAMER, gst_event_parse_segment)
-+GST_FUNC(LIBGSTREAMER, gst_event_type_get_name)
- GST_FUNC(LIBGSTREAMER, gst_memory_init)
- GST_FUNC(LIBGSTREAMER, gst_memory_map)
- GST_FUNC(LIBGSTREAMER, gst_memory_unmap)

Modified: trunk/www/firefox/files/patch-clang34-disable-stdcall
==============================================================================
--- trunk/www/firefox/files/patch-clang34-disable-stdcall	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox/files/patch-clang34-disable-stdcall	Tue Apr 29 07:51:23 2014	(r1581)
@@ -6,8 +6,8 @@
   *           NS_HIDDEN_(int) NS_FASTCALL func2(char *foo);
   */
  
--#if defined(__i386__) && defined(__GNUC__) && !defined(XP_OS2)
-+#if defined(__i386__) && defined(__GNUC__) && !defined(XP_OS2) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
+-#if defined(__i386__) && defined(__GNUC__)
++#if defined(__i386__) && defined(__GNUC__) && !(defined(__clang__) && __clang_major__ == 3 && __clang_minor__ == 4 && __clang_patchlevel__ == 0)
  #define NS_FASTCALL __attribute__ ((regparm (3), stdcall))
  #define NS_CONSTRUCTOR_FASTCALL __attribute__ ((regparm (3), stdcall))
  #elif defined(XP_WIN) && !defined(_WIN64)

Modified: trunk/www/firefox/files/patch-ipc-chromium-Makefile.in
==============================================================================
--- trunk/www/firefox/files/patch-ipc-chromium-Makefile.in	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox/files/patch-ipc-chromium-Makefile.in	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,13 +1,11 @@
 --- ipc/chromium/Makefile.in~
 +++ ipc/chromium/Makefile.in
-@@ -55,9 +60,7 @@ vpath %.c \
-   $(srcdir)/src/third_party/libevent \
-   $(NULL)
- else # } else {
--# message_pump_libevent.cc includes third_party/libevent/event.h,
--# which we put in $(DIST), see export rule below
--LOCAL_INCLUDES += -I$(DIST)
-+LOCAL_INCLUDES += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS))
- endif # }
+@@ -28,6 +28,8 @@ include $(topsrcdir)/config/rules.mk
+ 
+ ifdef MOZ_NATIVE_LIBEVENT # {
  
- vpath %.cc \
++OS_CPPFLAGS += $(filter %/compat, $(MOZ_LIBEVENT_CFLAGS))
++
+ export-preqs = \
+   $(call mkdir_deps,$(CURDIR)/third_party/libevent) \
+   $(NULL)

Deleted: trunk/www/firefox/files/patch-ipc-chromium-src-base-message_pump_libevent.cc
==============================================================================
--- trunk/www/firefox/files/patch-ipc-chromium-src-base-message_pump_libevent.cc	Tue Apr 29 07:51:23 2014	(r1580)
+++ /dev/null	00:00:00 1970	(deleted)
@@ -1,11 +0,0 @@
---- ipc/chromium/src/base/message_pump_libevent.cc~
-+++ ipc/chromium/src/base/message_pump_libevent.cc
-@@ -16,7 +16,7 @@
- #include "base/scoped_ptr.h"
- #include "base/time.h"
- #include "nsDependentSubstring.h"
--#include "third_party/libevent/event.h"
-+#include "event.h"
- 
- // Lifecycle of struct event
- // Libevent uses two main data structures:

Modified: trunk/www/firefox/files/patch-z-bug517422
==============================================================================
--- trunk/www/firefox/files/patch-z-bug517422	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/firefox/files/patch-z-bug517422	Tue Apr 29 07:51:23 2014	(r1581)
@@ -22,11 +22,17 @@
 index f67c5c7..eb909ce 100644
 --- config/external/moz.build
 +++ config/external/moz.build
-@@ -15,13 +15,13 @@ if CONFIG['MOZ_UPDATER']:
+@@ -15,13 +15,19 @@ if CONFIG['MOZ_UPDATER']:
      if not CONFIG['MOZ_NATIVE_BZ2']:
          external_dirs += ['modules/libbz2']
  
 -if CONFIG['MOZ_VORBIS']:
++if not CONFIG['MOZ_NATIVE_OGG']:
++    external_dirs += ['media/libogg']
++
++if not CONFIG['MOZ_NATIVE_THEORA']:
++    external_dirs += ['media/libtheora']
++
 +if CONFIG['MOZ_VORBIS'] and not CONFIG['MOZ_NATIVE_VORBIS']:
      external_dirs += ['media/libvorbis']
  
@@ -39,16 +45,7 @@
      external_dirs += ['media/libopus']
  
  if CONFIG['MOZ_WEBM']:
-@@ -34,16 +34,23 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ
-     external_dirs += ['media/libvpx']
- 
- if CONFIG['MOZ_OGG']:
--    external_dirs += ['media/libogg', 'media/libtheora']
-+    if not CONFIG['MOZ_NATIVE_OGG']:
-+        external_dirs += ['media/libogg']
-+    if not CONFIG['MOZ_NATIVE_THEORA']:
-+        external_dirs += ['media/libtheora']
- 
+@@ -36,13 +42,15 @@ if CONFIG['MOZ_VPX'] and not CONFIG['MOZ_NATIVE_LIBVPX']:
  if not CONFIG['MOZ_NATIVE_PNG']:
      external_dirs += ['media/libpng']
  
@@ -61,6 +58,8 @@
  external_dirs += [
      'media/kiss_fft',
      'media/libcubeb',
+-    'media/libogg',
+-    'media/libtheora',
 -    'media/libspeex_resampler',
 -    'media/libsoundtouch',
  ]
@@ -122,7 +121,7 @@
 index 87db361..7947626 100644
 --- configure.in
 +++ configure.in
-@@ -5211,6 +5211,57 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
+@@ -5211,6 +5211,63 @@ if test "${ac_cv_c_attribute_aligned}" != "0"; then
  fi
  
  dnl ========================================================
@@ -136,6 +135,12 @@
 +
 +if test -n "$MOZ_NATIVE_OGG"; then
 +    PKG_CHECK_MODULES(MOZ_OGG, ogg >= 1.2.1)
++
++    _SAVE_LIBS=$LIBS
++    LIBS="$LIBS $MOZ_OGG_LIBS"
++    AC_CHECK_FUNC(ogg_set_mem_functions, [],
++      [AC_DEFINE(MOZ_OGG_NO_MEM_REPORTING)])
++    LIBS=$_SAVE_LIBS
 +fi
 +
 +AC_SUBST(MOZ_NATIVE_OGG)
@@ -257,30 +262,19 @@
  dnl = Disable VP8 decoder support
  dnl ========================================================
  MOZ_ARG_DISABLE_BOOL(webm,
-diff --git content/media/AudioStream.cpp content/media/AudioStream.cpp
-index 88c8aa6..6b03288 100644
---- content/media/AudioStream.cpp
-+++ content/media/AudioStream.cpp
-@@ -13,7 +13,6 @@
- #include "mozilla/Mutex.h"
- #include <algorithm>
- #include "mozilla/Preferences.h"
--#include "soundtouch/SoundTouch.h"
- #include "Latency.h"
- 
- namespace mozilla {
 diff --git content/media/AudioStream.h content/media/AudioStream.h
 index 085676d..00c54fb 100644
 --- content/media/AudioStream.h
 +++ content/media/AudioStream.h
-@@ -15,6 +15,7 @@
- #include "mozilla/StaticMutex.h"
+@@ -26,7 +26,7 @@ public:
+ };
  
- #include "cubeb/cubeb.h"
-+#include "soundtouch/SoundTouch.h"
+ namespace soundtouch {
+-class SoundTouch;
++class MOZ_IMPORT_API SoundTouch;
+ }
  
- template <>
- class nsAutoRefTraits<cubeb_stream> : public nsPointerRefTraits<cubeb_stream>
+ namespace mozilla {
 diff --git content/media/Makefile.in content/media/Makefile.in
 index fd34449..c6c42c8 100644
 --- content/media/Makefile.in
@@ -447,3 +441,31 @@
  ifdef MOZ_NATIVE_LIBEVENT
  EXTRA_DSO_LDOPTS += $(MOZ_LIBEVENT_LIBS)
  endif
+diff --git xpcom/build/nsXPComInit.cpp xpcom/build/nsXPComInit.cpp
+index 2cf281e..6d7af0e 100644
+--- xpcom/build/nsXPComInit.cpp
++++ xpcom/build/nsXPComInit.cpp
+@@ -130,7 +130,9 @@ extern nsresult nsStringInputStreamConstructor(nsISupports *, REFNSIID, void **)
+ #include "mozilla/VisualEventTracer.h"
+ #endif
+ 
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+ #include "ogg/ogg.h"
++#endif
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+ #include "vpx_mem/vpx_mem.h"
+ #endif
+@@ -571,11 +573,13 @@ NS_InitXPCOM2(nsIServiceManager* *result,
+     // this oddness.
+     mozilla::SetICUMemoryFunctions();
+ 
++#ifndef MOZ_OGG_NO_MEM_REPORTING
+     // Do the same for libogg.
+     ogg_set_mem_functions(OggReporter::CountingMalloc,
+                           OggReporter::CountingCalloc,
+                           OggReporter::CountingRealloc,
+                           OggReporter::CountingFree);
++#endif
+ 
+ #if defined(MOZ_VPX) && !defined(MOZ_VPX_NO_MEM_REPORTING)
+     // And for VPX.

Modified: trunk/www/linux-firefox/Makefile
==============================================================================
--- trunk/www/linux-firefox/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/linux-firefox/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/www/linux-firefox/Makefile 336446 2013-12-14 13:42:06Z flo $
 
 PORTNAME=	firefox
-DISTVERSION=	29.0
+DISTVERSION=	30.0b1
 PORTEPOCH=	1
 CATEGORIES=	www ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US

Modified: trunk/www/linux-firefox/distinfo
==============================================================================
--- trunk/www/linux-firefox/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/linux-firefox/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,5 +1,5 @@
-SHA256 (firefox-29.0.tar.bz2) = e616abb6854480a33c47b902d1ba277717a855ead3bff560025a25a7f4b1da6d
-SIZE (firefox-29.0.tar.bz2) = 36330381
+SHA256 (firefox-30.0b1.tar.bz2) = 5064ce5b40f4bdd4777b0a4f04561b28cea76517a0a34190775e4e454467856f
+SIZE (firefox-30.0b1.tar.bz2) = 37417926
 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99
 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908
 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b

Modified: trunk/www/linux-seamonkey/Makefile
==============================================================================
--- trunk/www/linux-seamonkey/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/linux-seamonkey/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/www/linux-seamonkey/Makefile 336446 2013-12-14 13:42:06Z flo $
 
 PORTNAME=	seamonkey
-DISTVERSION=	2.26b1
+DISTVERSION=	2.26
 CATEGORIES=	www mail news editors irc ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/linux-i686/en-US
 

Modified: trunk/www/linux-seamonkey/distinfo
==============================================================================
--- trunk/www/linux-seamonkey/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/linux-seamonkey/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,5 +1,5 @@
-SHA256 (seamonkey-2.26b1.tar.bz2) = 5370c0429e2d419d2f12c2859bae1f4add7828d79bb02e50628d970e1e74302c
-SIZE (seamonkey-2.26b1.tar.bz2) = 30886722
+SHA256 (seamonkey-2.26.tar.bz2) = 4b306933c629bfaa0f6f4a8e5db08a47055061e3db87010b4c1e058d4ee4e0b2
+SIZE (seamonkey-2.26.tar.bz2) = 30916325
 SHA256 (glib2-2.22.2-2.fc12.i686.rpm) = e3b459c245ec14e7248e9de4b506963a4773407f3e58835db5070d0ed02ecc99
 SIZE (glib2-2.22.2-2.fc12.i686.rpm) = 1162908
 SHA256 (gtk2-2.18.3-19.fc12.i686.rpm) = aea9cf7ffe9c8dae0faa2bf3d2aa1b2117c55dce03da72dcce8c268279ec0a4b

Modified: trunk/www/seamonkey-i18n/Makefile
==============================================================================
--- trunk/www/seamonkey-i18n/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/seamonkey-i18n/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/www/seamonkey-i18n/Makefile 350690 2014-04-09 12:38:45Z bapt $
 
 PORTNAME=	seamonkey-i18n
-PORTVERSION=	2.26b1
+PORTVERSION=	2.26
 CATEGORIES=	www mail news editors irc
 MASTER_SITES=	MOZILLA/${PORTNAME:S|-i18n||}/releases/${PORTVERSION}/langpack
 PKGNAMEPREFIX=

Modified: trunk/www/seamonkey-i18n/distinfo
==============================================================================
--- trunk/www/seamonkey-i18n/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/seamonkey-i18n/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,54 +1,52 @@
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.be.langpack.xpi) = 2f24052a35bdc3f93e327b29349c65faba834cf3e80784cc79bd29f9d1edddd9
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.be.langpack.xpi) = 818751
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ca.langpack.xpi) = 9fdb17d2182e8729e21f9364c1fabba0e23cb574bff944d919057cbf83bd76b4
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ca.langpack.xpi) = 816735
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.cs.langpack.xpi) = 9e6d68c1b3c9d0dce983910e51f40eca06ca1dbc2d0045d98015e6e38ecfadf3
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.cs.langpack.xpi) = 814944
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.de.langpack.xpi) = 358155b9dd590bf513156fd7c1ec4cb41e159363ae9852b1bcbe7493e2c84bda
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.de.langpack.xpi) = 822042
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.en-GB.langpack.xpi) = c0ca3f0868266dbb2a0511475e1614c5c0525430dfbd0b152537e31a59137821
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.en-GB.langpack.xpi) = 785829
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.en-US.langpack.xpi) = eb0345e71381d4f81caafe9cd26028507caa80ffb095f35399ba6865b16bfba8
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.en-US.langpack.xpi) = 786788
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.es-AR.langpack.xpi) = 6505da14b20394c59ff5c881cbc13ec25cad659053c7348ed55fd2f64a8b4438
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.es-AR.langpack.xpi) = 837475
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.es-ES.langpack.xpi) = bce45dbd0f7bd73762c4acca16c30baf6de4e4d2f0cc2d816f93d13c93012c91
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.es-ES.langpack.xpi) = 815842
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.fi.langpack.xpi) = e47cabefea6ea7ce608db1001c99a7e096afab5522ca9237852da8af068d1ca1
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.fi.langpack.xpi) = 784387
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.fr.langpack.xpi) = 473790c84af6a2038c0b24b81a41b9fc8df5eddf7fa1a902f338f464377289da
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.fr.langpack.xpi) = 795188
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.gl.langpack.xpi) = 90f394219b887ad80e7e6ea47497e1533dee4a595529b6445e8db5c2afd280a8
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.gl.langpack.xpi) = 794258
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.hu.langpack.xpi) = 25483d489e9f7c467deaa2c849e9ef2f6659f21d12c6fe866c03fb45296b533a
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.hu.langpack.xpi) = 828526
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.it.langpack.xpi) = 83aa64409d78aa85d10c7dc69b887aa69c531a6cc68111be36d46c78c683b52d
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.it.langpack.xpi) = 728566
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ja-JP-mac.langpack.xpi) = da1d46f25bd2c62642a7cab3a4ebd285b418328e4a7080ed44e6e6881c67b8a5
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ja-JP-mac.langpack.xpi) = 892973
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ja.langpack.xpi) = 17477e325a987da0127e26e8aa7b63fe75eba429abf13804d342c595cfa38b60
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ja.langpack.xpi) = 867575
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.lt.langpack.xpi) = 9e4b8e8874de1e9311a0f50f01e7592c05c366ab370d66094bebc5770b5fadc6
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.lt.langpack.xpi) = 832068
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.nb-NO.langpack.xpi) = 1cd011fb77b98942e0e085a774d9e13c31befe14d6df1ba44229d5281194705b
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.nb-NO.langpack.xpi) = 808006
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.nl.langpack.xpi) = a688e4cd782e5e32102a257dc12ffbb544ec8a3435b80e8f0bb46be72969e17f
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.nl.langpack.xpi) = 781844
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.pl.langpack.xpi) = db33d8b01d525083035e973be5456863d7acbac63d08dc22620ed125c65c5a27
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.pl.langpack.xpi) = 855820
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.pt-PT.langpack.xpi) = ebcb8d249e111973fcd23582711ad52030469065669d058ca81f28cc8cd66158
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.pt-PT.langpack.xpi) = 817865
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ru.langpack.xpi) = 34bcddeb5f269d05aac57f0a88367a4fe9d9dba92cee019e0bf5011d61247d04
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.ru.langpack.xpi) = 885692
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.sk.langpack.xpi) = 233349521887b83ff1771b06fb7ba5156f3eefbb5a15987aa34561d8ed3aaf9b
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.sk.langpack.xpi) = 841887
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.sv-SE.langpack.xpi) = c909e50fcbdc04e27b8d09b60b2f78f2aad2a553cc8c310a5b8db68137ce6aef
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.sv-SE.langpack.xpi) = 809829
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.tr.langpack.xpi) = bf390f113dd0ea5837602a2e5b0c382e0a164b60db1cc0be5301b855f1d3e31c
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.tr.langpack.xpi) = 791385
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.uk.langpack.xpi) = 4fdbd403e1de750001a0054f5f5b33e8d890efd5e96aab4a39223ca33b636f98
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.uk.langpack.xpi) = 853567
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.zh-CN.langpack.xpi) = 3ef22a535047a45961fa3adcb0ffc2bd4b3a3c8ae54f09f46c0158a2df045e47
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.zh-CN.langpack.xpi) = 818845
-SHA256 (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.zh-TW.langpack.xpi) = ed2cfd40465dd37bf5acefa0b87436a46328faa98ed48876397bdeeb400a953d
-SIZE (xpi/seamonkey-i18n-2.26b1/seamonkey-2.26b1.zh-TW.langpack.xpi) = 843195
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.be.langpack.xpi) = bba364903e2cd080a83b4c7b06317ce547fce0463e46cb1ff5241dcd3b0341f7
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.be.langpack.xpi) = 818751
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.ca.langpack.xpi) = 8885d0412bd420b77a831bc28aae685d0962ef840ddb16e380cd07a2f2ef176c
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.ca.langpack.xpi) = 816735
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.cs.langpack.xpi) = cc77420a27f8e0757bcbdd6f8df2be361883ae1c5840e63f63a1386e43bc498c
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.cs.langpack.xpi) = 814944
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.de.langpack.xpi) = 960ce22067f7cd19ec30c1249a588c651785a8989f374e14e8d06de8dce35237
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.de.langpack.xpi) = 822042
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.en-GB.langpack.xpi) = 42aa60112205d55fb9f835baf1a051da97942a950a17fbb37f0aac7cf6f5135e
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.en-GB.langpack.xpi) = 785904
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.en-US.langpack.xpi) = 31b47ea472f6f4293f896355d8d4092ced3094ab001afc3625c33de1dfb4a6e8
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.en-US.langpack.xpi) = 786788
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.es-AR.langpack.xpi) = 70e3502d5578c3d793645c47872c436f92845800f5a74bcea3803b2c5db73dad
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.es-AR.langpack.xpi) = 836833
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.es-ES.langpack.xpi) = 13bdb45b40c8a9b03f3c93aca5d120ce163a9dc263c68d9fa225826bf429c1a0
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.es-ES.langpack.xpi) = 814002
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.fi.langpack.xpi) = f21cd2e898e11039b2909cad62a71e8f4ee769c68c5681d82300f95c9c70c00a
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.fi.langpack.xpi) = 784387
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.fr.langpack.xpi) = 4e892a84852f9d7470c7c7ff4cc6ff8da0cb5bc8e8197d41ca3105ded6d7356d
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.fr.langpack.xpi) = 795188
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.gl.langpack.xpi) = de1db0aefa37fa6ce4ca2ab6ddbd53d4466e48cb435861270266ca0f56e338e0
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.gl.langpack.xpi) = 794258
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.hu.langpack.xpi) = a1c8b084b6b64bb0b992e9a05c6fa49c9a5a48b437e86351b8a2ed1f2997f22c
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.hu.langpack.xpi) = 828526
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.it.langpack.xpi) = 30dde81ae8bf1379caabc0a7e35bee72b8fa9fa052136de333dcbcd7f3ea550a
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.it.langpack.xpi) = 728566
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.ja.langpack.xpi) = 002743784937853e368c31ca5f80056eb50bd91dfa3f791164e388ab66e1e160
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.ja.langpack.xpi) = 867575
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.lt.langpack.xpi) = 5beaf750798ffe4979e31e19dd88721df2819eeb4ac6cfb73388c0acecfb80f3
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.lt.langpack.xpi) = 832068
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.nb-NO.langpack.xpi) = 5559b7554f6683b7ad444af019d7ad75b13795f6669653b3be9c0934d12857a9
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.nb-NO.langpack.xpi) = 805527
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.nl.langpack.xpi) = 794019b24058071a080b6450991fa79ca71a447df7702e6384785895fce18a34
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.nl.langpack.xpi) = 781831
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.pl.langpack.xpi) = fff16b9b77830bf983c49e42516091ec987a9616168d8040598799349b135e1f
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.pl.langpack.xpi) = 855815
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.pt-PT.langpack.xpi) = 35ecbc2df9c90227ce0e46d854237272d019ad4a5c54e459cdf82a601a9d52dd
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.pt-PT.langpack.xpi) = 817865
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.ru.langpack.xpi) = 9c4c665da191538e1e836ecad5b4556f5a9ed4a4db94c4779db537dd2cef1c94
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.ru.langpack.xpi) = 885692
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.sk.langpack.xpi) = dca3c93b1b2131e58483a537961df44a044b80f5cc97fb2628b384f26e973212
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.sk.langpack.xpi) = 841872
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.sv-SE.langpack.xpi) = e55f7d962db49d461b3b2cc2cc93da46da64139164b8d83f2e67df35bbfa2979
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.sv-SE.langpack.xpi) = 809829
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.tr.langpack.xpi) = d4923efdc2d4e3a294b864c1fbb9fe0a9a9d0d3636cb4ebed2e2263fbabbe5fa
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.tr.langpack.xpi) = 791385
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.uk.langpack.xpi) = ebdc37f591c32ddfe8783257c3944b6a44be15a2b10be4298326c187caddda81
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.uk.langpack.xpi) = 853567
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.zh-CN.langpack.xpi) = 57ab3c518f60627b9cbbe57f5a25b22dace427ec9597d395953104732a5cf0fe
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.zh-CN.langpack.xpi) = 818845
+SHA256 (xpi/seamonkey-i18n-2.26/seamonkey-2.26.zh-TW.langpack.xpi) = 2512be926be2859e16e058977e9dc31d29a3c8b92eefe5a6b3a6f304325cb7fe
+SIZE (xpi/seamonkey-i18n-2.26/seamonkey-2.26.zh-TW.langpack.xpi) = 843200

Modified: trunk/www/seamonkey/Makefile
==============================================================================
--- trunk/www/seamonkey/Makefile	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/seamonkey/Makefile	Tue Apr 29 07:51:23 2014	(r1581)
@@ -2,7 +2,7 @@
 # $FreeBSD: head/www/seamonkey/Makefile 339634 2014-01-13 21:00:02Z rene $
 
 PORTNAME=	seamonkey
-DISTVERSION=	2.26b1
+DISTVERSION=	2.26
 CATEGORIES?=	www mail news editors irc ipv6
 MASTER_SITES=	MOZILLA/${PORTNAME}/releases/${DISTVERSION}/source \
 		https://ftp.mozilla.org/pub/mozilla.org/${PORTNAME}/candidates/${DISTVERSION}-candidates/build1/source/
@@ -80,7 +80,7 @@
 
 .include <bsd.port.pre.mk>
 
-WRKSRC=		${WRKDIR}/comm-beta
+WRKSRC=		${WRKDIR}/comm-release
 MOZSRC:=	${WRKSRC}/mozilla
 
 XPI_LIBDIR=	${PREFIX}/lib/xpi

Modified: trunk/www/seamonkey/distinfo
==============================================================================
--- trunk/www/seamonkey/distinfo	Mon Apr 28 14:11:55 2014	(r1580)
+++ trunk/www/seamonkey/distinfo	Tue Apr 29 07:51:23 2014	(r1581)
@@ -1,4 +1,4 @@
-SHA256 (seamonkey-2.26b1.source.tar.bz2) = 0ed2814caf20ed8dab6d67f4730123ce5e8a21a4b4dc3075d92ef78d52afc5ad
-SIZE (seamonkey-2.26b1.source.tar.bz2) = 165504914
+SHA256 (seamonkey-2.26.source.tar.bz2) = 985262d39f38fc20d307e810c371c9f581f7c55a66cfabd6b5561c236116b874
+SIZE (seamonkey-2.26.source.tar.bz2) = 165548355
 SHA256 (enigmail-1.6.1_pre20140112.tar.xz) = 2d89a9186c3ccfc9397c933c6f63c0518224fea0096d7a292dba3765de088149
 SIZE (enigmail-1.6.1_pre20140112.tar.xz) = 916028



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404290751.s3T7pNNX054920>