Pier Angelo Vendrame pushed to branch mullvad-browser-128.8.0esr-14.5-1 at The 
Tor Project / Applications / Mullvad Browser


Commits:
9492cb87 by Julian Descottes at 2025-03-06T10:46:29+01:00
Bug 1917556 - [marionette] Fix Mn tests with Python 3.12 
r=webdriver-reviewers,whimboo

Differential Revision: https://phabricator.services.mozilla.com/D221448
- - - - -
29861015 by Beatriz Rizental at 2025-03-06T10:47:06+01:00
fixup! Base Browser's .mozconfigs.

- - - - -
63d64ecc by Beatriz Rizental at 2025-03-06T10:47:15+01:00
BB 43535: Enable tests

- - - - -
2aa78353 by John Lin at 2025-03-10T14:20:42+00:00
Bug 1924070 - modify H.264 extradata to match sample conversion code. 
r=media-playback-reviewers,alwu

In AVC stream, NAL unit is represented with the length of unit data
(NALUnitLength) followed by the actual unit data(NALUnit). The NALUnitLength
field can be 1-4 bytes long and the size can be derived from the
'lengthSizeMinusOne' value recorded in extradata.
H264ChangeMonitor.CheckForChange() reformats all input samples so that
NALUnitLength will always be 4 bytes long while the original extradata is
used during decoder creation earlier, so decoder won't be able to correctly
parse converted samples if extradata is not modified accordingly.

Differential Revision: https://phabricator.services.mozilla.com/D239547
- - - - -


6 changed files:

- dom/media/platforms/wrappers/MediaChangeMonitor.cpp
- mozconfig-linux-aarch64-dev
- mozconfig-linux-x86_64-dev
- mozconfig-macos-dev
- testing/marionette/harness/marionette_harness/runner/base.py
- testing/specialpowers/api.js


Changes:

=====================================
dom/media/platforms/wrappers/MediaChangeMonitor.cpp
=====================================
@@ -42,6 +42,14 @@ class H264ChangeMonitor : public 
MediaChangeMonitor::CodecChangeMonitor {
       : mCurrentConfig(aInfo), mFullParsing(aFullParsing) {
     if (CanBeInstantiated()) {
       UpdateConfigFromExtraData(aInfo.mExtraData);
+      auto avcc = AVCCConfig::Parse(mCurrentConfig.mExtraData);
+      if (avcc.isOk() && avcc.unwrap().NALUSize() != 4) {
+        // `CheckForChange()` will use `AnnexB::ConvertSampleToAVCC()` to 
change
+        // NAL units into 4-byte.
+        // `AVCDecoderConfigurationRecord.lengthSizeMinusOne` in the config
+        // should be modified too.
+        mCurrentConfig.mExtraData->ReplaceElementAt(4, 0xfc | 3);
+      }
     }
   }
 


=====================================
mozconfig-linux-aarch64-dev
=====================================
@@ -16,3 +16,5 @@ ac_add_options --disable-install-strip
 
 ac_add_options --with-base-browser-version=dev-build
 ac_add_options --disable-base-browser-update
+
+ac_add_options --enable-tests


=====================================
mozconfig-linux-x86_64-dev
=====================================
@@ -19,3 +19,5 @@ ac_add_options --disable-base-browser-update
 
 # Let's make sure no preference is enabling either Adobe's or Google's CDM.
 ac_add_options --disable-eme
+
+ac_add_options --enable-tests


=====================================
mozconfig-macos-dev
=====================================
@@ -19,3 +19,5 @@ ac_add_options --disable-update-agent
 
 # Let's make sure no preference is enabling either Adobe's or Google's CDM.
 ac_add_options --disable-eme
+
+ac_add_options --enable-tests


=====================================
testing/marionette/harness/marionette_harness/runner/base.py
=====================================
@@ -222,7 +222,7 @@ class MarionetteTestResult(StructuredTestResult, 
TestResultCollection):
                 self.logger.info("END LOG:")
 
     def stopTest(self, *args, **kwargs):
-        unittest._TextTestResult.stopTest(self, *args, **kwargs)
+        unittest.TextTestResult.stopTest(self, *args, **kwargs)
         if self.marionette.check_for_crash():
             # this tells unittest.TestSuite not to continue running tests
             self.shouldStop = True


=====================================
testing/specialpowers/api.js
=====================================
@@ -40,6 +40,18 @@ this.specialpowers = class extends ExtensionAPI {
         uri,
         resProto.ALLOW_CONTENT_ACCESS
       );
+    } else {
+      // This is a hack!
+      // For some reason, this specific substituion has an extra `/` in the 
path.
+      // This is a workaround to fix it.
+      //
+      // TODO (#43545): Remove this once we have a proper fix.
+      let uri = resProto.getSubstitution("testing-common");
+      resProto.setSubstitution(
+        "testing-common",
+        Services.io.newURI(uri.spec.replace("file:////", "file:///")),
+        resProto.ALLOW_CONTENT_ACCESS
+      );
     }
 
     SpecialPowersParent.registerActor();



View it on GitLab: 
https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/cb0e9508413765ae7e4fcc006c434a4e20085ebf...2aa78353d037f1a6c412eb2a9aca46c82f44b94b

-- 
View it on GitLab: 
https://gitlab.torproject.org/tpo/applications/mullvad-browser/-/compare/cb0e9508413765ae7e4fcc006c434a4e20085ebf...2aa78353d037f1a6c412eb2a9aca46c82f44b94b
You're receiving this email because of your account on gitlab.torproject.org.


_______________________________________________
tor-commits mailing list -- tor-commits@lists.torproject.org
To unsubscribe send an email to tor-commits-le...@lists.torproject.org

Reply via email to