Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package openh264 for openSUSE:Factory 
checked in at 2022-03-23 20:19:03
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openh264 (Old)
 and      /work/SRC/openSUSE:Factory/.openh264.new.25692 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "openh264"

Wed Mar 23 20:19:03 2022 rev:2 rq:964275 version:2.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/openh264/openh264.changes        2022-01-14 
23:14:29.082679911 +0100
+++ /work/SRC/openSUSE:Factory/.openh264.new.25692/openh264.changes     
2022-03-23 20:20:57.754550481 +0100
@@ -1,0 +2,9 @@
+Wed Mar 16 11:21:48 UTC 2022 - Neal Gompa <ngo...@opensuse.org>
+
+- Update to 2.2.0
+  + Add support for B-slice error concealment
+  + Thread decoding support for multi-slice frame
+  + Some Bug fixes for B-frame decoding
+  + Some minor bug fixes
+
+-------------------------------------------------------------------

Old:
----
  gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560.tar.gz
  openh264-2.1.1.tar.gz

New:
----
  gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a.tar.gz
  openh264-2.2.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ openh264.spec ++++++
--- /var/tmp/diff_new_pack.BniyTU/_old  2022-03-23 20:20:58.950551157 +0100
+++ /var/tmp/diff_new_pack.BniyTU/_new  2022-03-23 20:20:58.954551160 +0100
@@ -18,14 +18,14 @@
 
 
 # moz plugin commit hash
-%global commit1 c5f1d0f3213178818cbfb3e16f31d07328980560
+%global commit1 3a01c086d1b0394238ff1b5ad22e76022830625a
 
 %global somajor 6
 %global libname lib%{name}-%{somajor}
 %global devname lib%{name}-devel
 
 Name:           openh264
-Version:        2.1.1
+Version:        2.2.0
 Release:        0
 Summary:        H.264 codec library
 Group:          Productivity/Multimedia/Other
@@ -80,7 +80,10 @@
 %autosetup -a1
 mv gmp-api-%{commit1} gmp-api
 
+
+%build
 # Update the makefile with our build options
+# Must be done in %%build in order to pick up correct LDFLAGS.
 sed -i -e 's|^CFLAGS_OPT=.*$|CFLAGS_OPT=%{build_cflags}|' Makefile
 sed -i -e 's|^PREFIX=.*$|PREFIX=%{_prefix}|' Makefile
 sed -i -e 's|^LIBDIR_NAME=.*$|LIBDIR_NAME=%{_lib}|' Makefile
@@ -89,8 +92,6 @@
 sed -i -e '/^CFLAGS_OPT=/i LDFLAGS=%{build_ldflags}' Makefile
 %endif
 
-
-%build
 # First build the openh264 libraries
 %make_build
 

++++++ gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560.tar.gz -> 
gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/CODE_OF_CONDUCT.md 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/CODE_OF_CONDUCT.md
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/CODE_OF_CONDUCT.md     
1970-01-01 01:00:00.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/CODE_OF_CONDUCT.md     
2021-10-12 22:10:41.000000000 +0200
@@ -0,0 +1,15 @@
+# Community Participation Guidelines
+
+This repository is governed by Mozilla's code of conduct and etiquette 
guidelines. 
+For more details, please read the
+[Mozilla Community Participation 
Guidelines](https://www.mozilla.org/about/governance/policies/participation/). 
+
+## How to Report
+For more information on how to report violations of the Community 
Participation Guidelines, please read our '[How to 
Report](https://www.mozilla.org/about/governance/policies/participation/reporting/)'
 page.
+
+<!--
+## Project Specific Etiquette
+
+In some cases, there will be additional project etiquette i.e.: 
(https://bugzilla.mozilla.org/page.cgi?id=etiquette.html).
+Please update for your project.
+-->
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-async-shutdown.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-async-shutdown.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-async-shutdown.h   
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-async-shutdown.h   
1970-01-01 01:00:00.000000000 +0100
@@ -1,54 +0,0 @@
-/*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef GMP_ASYNC_SHUTDOWN_H_
-#define GMP_ASYNC_SHUTDOWN_H_
-
-#define GMP_API_ASYNC_SHUTDOWN "async-shutdown"
-
-// API exposed by the plugin library to manage asynchronous shutdown.
-// Some plugins require special cleanup which may need to make calls
-// to host services and wait for async responses.
-//
-// To enable a plugins to block shutdown until its async shutdown is
-// complete, implement the GMPAsyncShutdown interface and return it when
-// your plugin's GMPGetAPI function is called with "async-shutdown".
-// When your GMPAsyncShutdown's BeginShutdown() implementation is called
-// by the GMP host, you should initate your async shutdown process.
-// Once you have completed shutdown, call the ShutdownComplete() function
-// of the GMPAsyncShutdownHost that is passed as the host argument to the
-// GMPGetAPI() call.
-//
-// Note: Your GMP's GMPShutdown function will still be called after your
-// call to ShutdownComplete().
-//
-// API name macro: GMP_API_ASYNC_SHUTDOWN
-// Host API: GMPAsyncShutdownHost
-class GMPAsyncShutdown {
-public:
-  virtual ~GMPAsyncShutdown() {}
-
-  virtual void BeginShutdown() = 0;
-};
-
-class GMPAsyncShutdownHost {
-public:
-  virtual ~GMPAsyncShutdownHost() {}
-
-  virtual void ShutdownComplete() = 0;
-};
-
-#endif // GMP_ASYNC_SHUTDOWN_H_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-codec.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-codec.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-codec.h      
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-codec.h      
1970-01-01 01:00:00.000000000 +0100
@@ -1,43 +0,0 @@
-/*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef GMP_AUDIO_CODEC_h_
-#define GMP_AUDIO_CODEC_h_
-
-#include <stdint.h>
-
-enum GMPAudioCodecType
-{
-  kGMPAudioCodecAAC,
-  kGMPAudioCodecVorbis,
-  kGMPAudioCodecInvalid // Should always be last.
-};
-
-struct GMPAudioCodec
-{
-  GMPAudioCodecType mCodecType;
-  uint32_t mChannelCount;
-  uint32_t mBitsPerChannel;
-  uint32_t mSamplesPerSecond;
-
-  // Codec extra data, such as vorbis setup header, or
-  // AAC AudioSpecificConfig.
-  // These are null/0 if not externally negotiated
-  const uint8_t* mExtraData;
-  uint32_t       mExtraDataLen;
-};
-
-#endif // GMP_AUDIO_CODEC_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-decode.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-decode.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-decode.h     
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-decode.h     
1970-01-01 01:00:00.000000000 +0100
@@ -1,84 +0,0 @@
-/*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef GMP_AUDIO_DECODE_h_
-#define GMP_AUDIO_DECODE_h_
-
-#include "gmp-errors.h"
-#include "gmp-audio-samples.h"
-#include "gmp-audio-codec.h"
-#include <stdint.h>
-
-// ALL METHODS MUST BE CALLED ON THE MAIN THREAD
-class GMPAudioDecoderCallback
-{
-public:
-  virtual ~GMPAudioDecoderCallback() {}
-
-  virtual void Decoded(GMPAudioSamples* aDecodedSamples) = 0;
-
-  virtual void InputDataExhausted() = 0;
-
-  virtual void DrainComplete() = 0;
-
-  virtual void ResetComplete() = 0;
-
-  // Called when the decoder encounters a catestrophic error and cannot
-  // continue. Gecko will not send any more input for decoding.
-  virtual void Error(GMPErr aError) = 0;
-};
-
-#define GMP_API_AUDIO_DECODER "decode-audio"
-
-// Audio decoding for a single stream. A GMP may be asked to create multiple
-// decoders concurrently.
-//
-// API name macro: GMP_API_AUDIO_DECODER
-// Host API: GMPAudioHost
-//
-// ALL METHODS MUST BE CALLED ON THE MAIN THREAD
-class GMPAudioDecoder
-{
-public:
-  virtual ~GMPAudioDecoder() {}
-
-  // aCallback: Subclass should retain reference to it until DecodingComplete
-  //            is called. Do not attempt to delete it, host retains ownership.
-  // TODO: Pass AudioHost so decoder can create GMPAudioEncodedFrame objects?
-  virtual void InitDecode(const GMPAudioCodec& aCodecSettings,
-                          GMPAudioDecoderCallback* aCallback) = 0;
-
-  // Decode encoded audio frames (as a part of an audio stream). The decoded
-  // frames must be returned to the user through the decode complete callback.
-  virtual void Decode(GMPAudioSamples* aEncodedSamples) = 0;
-
-  // Reset decoder state and prepare for a new call to Decode(...).
-  // Flushes the decoder pipeline.
-  // The decoder should enqueue a task to run ResetComplete() on the main
-  // thread once the reset has finished.
-  virtual void Reset() = 0;
-
-  // Output decoded frames for any data in the pipeline, regardless of 
ordering.
-  // All remaining decoded frames should be immediately returned via callback.
-  // The decoder should enqueue a task to run DrainComplete() on the main
-  // thread once the reset has finished.
-  virtual void Drain() = 0;
-
-  // May free decoder memory.
-  virtual void DecodingComplete() = 0;
-};
-
-#endif // GMP_VIDEO_DECODE_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-host.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-host.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-host.h       
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-host.h       
1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-/*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef GMP_AUDIO_HOST_h_
-#define GMP_AUDIO_HOST_h_
-
-#include "gmp-errors.h"
-#include "gmp-audio-samples.h"
-
-class GMPAudioHost
-{
-public:
-  // Construct various Audio API objects. Host does not retain reference,
-  // caller is owner and responsible for deleting.
-  virtual GMPErr CreateSamples(GMPAudioFormat aFormat,
-                               GMPAudioSamples** aSamples) = 0;
-};
-
-#endif // GMP_AUDIO_HOST_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-samples.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-samples.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-audio-samples.h    
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-audio-samples.h    
1970-01-01 01:00:00.000000000 +0100
@@ -1,74 +0,0 @@
-/*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef GMP_AUDIO_FRAME_h_
-#define GMP_AUDIO_FRAME_h_
-
-#include <stdint.h>
-#include "gmp-errors.h"
-#include "gmp-decryption.h"
-
-enum GMPAudioFormat
-{
-  kGMPAudioEncodedSamples, // Raw compressed data, i.e. an AAC/Vorbis packet.
-  kGMPAudioIS16Samples, // Interleaved int16_t PCM samples.
-  kGMPAudioSamplesFormatInvalid // Should always be last.
-};
-
-class GMPAudioSamples {
-public:
-  // The format of the buffer.
-  virtual GMPAudioFormat GetFormat() = 0;
-  virtual void Destroy() = 0;
-
-  // MAIN THREAD ONLY
-  // Buffer size must be exactly what's required to contain all samples in
-  // the buffer; every byte is assumed to be part of a sample.
-  virtual GMPErr SetBufferSize(uint32_t aSize) = 0;
-
-  // Size of the buffer in bytes.
-  virtual uint32_t Size() = 0;
-
-  // Timestamps are in microseconds, and are the playback start time of the
-  // first sample in the buffer.
-  virtual void SetTimeStamp(uint64_t aTimeStamp) = 0;
-  virtual uint64_t TimeStamp() = 0;
-  virtual const uint8_t* Buffer() const = 0;
-  virtual uint8_t*       Buffer() = 0;
-
-  // Get metadata describing how this frame is encrypted, or nullptr if the
-  // buffer is not encrypted.
-  virtual const GMPEncryptedBufferMetadata* GetDecryptionData() const = 0;
-
-  virtual uint32_t Channels() const = 0;
-  virtual void SetChannels(uint32_t aChannels) = 0;
-
-  // Rate; the number of frames per second, where a "frame" is one sample for
-  // each channel.
-  //
-  // For IS16 samples, the number of samples should be:
-  //   Size() / (Channels() * sizeof(int16_t)).
-  //
-  // Note: Channels() and Rate() may not be constant across a decoding
-  // session. For example the rate for decoded samples may be different
-  // than the rate advertised by the MP4 container for encoded samples
-  // for HE-AAC streams with SBR/PS, and an EME-GMP may need to downsample
-  // to satisfy DRM requirements.
-  virtual uint32_t Rate() const = 0;
-  virtual void SetRate(uint32_t aRate) = 0;
-};
-
-#endif // GMP_AUDIO_FRAME_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-decryption.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-decryption.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-decryption.h       
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-decryption.h       
1970-01-01 01:00:00.000000000 +0100
@@ -1,361 +0,0 @@
-/*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-
-#ifndef GMP_DECRYPTION_h_
-#define GMP_DECRYPTION_h_
-
-#include "gmp-platform.h"
-
-class GMPStringList {
-public:
-  virtual const uint32_t Size() const = 0;
-
-  virtual void StringAt(uint32_t aIndex,
-                        const char** aOutString, uint32_t* aOutLength) const = 
0;
-
-  virtual ~GMPStringList() { }
-};
-
-class GMPEncryptedBufferMetadata {
-public:
-  // Key ID to identify the decryption key.
-  virtual const uint8_t* KeyId() const = 0;
-
-  // Size (in bytes) of |KeyId()|.
-  virtual uint32_t KeyIdSize() const = 0;
-
-  // Initialization vector.
-  virtual const uint8_t* IV() const = 0;
-
-  // Size (in bytes) of |IV|.
-  virtual uint32_t IVSize() const = 0;
-
-  // Number of entries returned by ClearBytes() and CipherBytes().
-  virtual uint32_t NumSubsamples() const = 0;
-
-  virtual const uint16_t* ClearBytes() const = 0;
-
-  virtual const uint32_t* CipherBytes() const = 0;
-
-  virtual ~GMPEncryptedBufferMetadata() {}
-
-  // The set of MediaKeySession IDs associated with this decryption key in
-  // the current stream.
-  virtual const GMPStringList* SessionIds() const = 0;
-};
-
-class GMPBuffer {
-public:
-  virtual uint32_t Id() const = 0;
-  virtual uint8_t* Data() = 0;
-  virtual uint32_t Size() const = 0;
-  virtual void Resize(uint32_t aSize) = 0;
-  virtual ~GMPBuffer() {}
-};
-
-// These match to the DOMException codes as per:
-// http://www.w3.org/TR/dom/#domexception
-enum GMPDOMException {
-  kGMPNoModificationAllowedError = 7,
-  kGMPNotFoundError = 8,
-  kGMPNotSupportedError = 9,
-  kGMPInvalidStateError = 11,
-  kGMPSyntaxError = 12,
-  kGMPInvalidModificationError = 13,
-  kGMPInvalidAccessError = 15,
-  kGMPSecurityError = 18,
-  kGMPAbortError = 20,
-  kGMPQuotaExceededError = 22,
-  kGMPTimeoutError = 23
-};
-
-enum GMPSessionMessageType {
-  kGMPLicenseRequest = 0,
-  kGMPLicenseRenewal = 1,
-  kGMPLicenseRelease = 2,
-  kGMPIndividualizationRequest = 3,
-  kGMPMessageInvalid = 4 // Must always be last.
-};
-
-enum GMPMediaKeyStatus {
-  kGMPUsable = 0,
-  kGMPExpired = 1,
-  kGMPOutputDownscaled = 2,
-  kGMPOutputNotAllowed = 3,
-  kGMPInternalError = 4,
-  kGMPUnknown = 5,
-  kGMPMediaKeyStatusInvalid = 6 // Must always be last.
-};
-
-// Time in milliseconds, as offset from epoch, 1 Jan 1970.
-typedef int64_t GMPTimestamp;
-
-// Capability definitions. The capabilities of the EME GMP are reported
-// to Gecko by calling the GMPDecryptorCallback::SetCapabilities()
-// callback and specifying the logical OR of the GMP_EME_CAP_* flags below.
-//
-// Note the DECRYPT and the DECRYPT_AND_DECODE are mutually exclusive;
-// only one mode should be reported for each stream type, but different
-// modes can be reported for different stream types.
-//
-// Note: Gecko does not currently support the caps changing at runtime.
-// Set them once per plugin initialization, during the startup of
-// the GMPdecryptor.
-
-// Capability; CDM can decrypt encrypted buffers and return still
-// compressed buffers back to Gecko for decompression there.
-#define GMP_EME_CAP_DECRYPT_AUDIO (uint64_t(1) << 0)
-#define GMP_EME_CAP_DECRYPT_VIDEO (uint64_t(1) << 1)
-
-// Capability; CDM can decrypt and then decode encrypted buffers,
-// and return decompressed samples to Gecko for playback.
-#define GMP_EME_CAP_DECRYPT_AND_DECODE_AUDIO (uint64_t(1) << 2)
-#define GMP_EME_CAP_DECRYPT_AND_DECODE_VIDEO (uint64_t(1) << 3)
-
-// Callbacks to be called from the CDM. Threadsafe.
-class GMPDecryptorCallback {
-public:
-
-  // The GMPDecryptor should call this in response to a call to
-  // GMPDecryptor::CreateSession(). The GMP host calls CreateSession() when
-  // MediaKeySession.generateRequest() is called by JavaScript.
-  // After CreateSession() is called, the GMPDecryptor should call
-  // GMPDecryptorCallback::SetSessionId() to set the sessionId exposed to
-  // JavaScript on the MediaKeySession on which the generateRequest() was
-  // called. SetSessionId() must be called before
-  // GMPDecryptorCallback::SessionMessage() will work.
-  // aSessionId must be null terminated.
-  // Note: pass the aCreateSessionToken from the CreateSession() call,
-  // and then once the session has sent any messages required for the
-  // license request to be sent, then resolve the aPromiseId that was passed
-  // to GMPDecryptor::CreateSession().
-  // Note: GMPDecryptor::LoadSession() does *not* need to call SetSessionId()
-  // for GMPDecryptorCallback::SessionMessage() to work.
-  virtual void SetSessionId(uint32_t aCreateSessionToken,
-                            const char* aSessionId,
-                            uint32_t aSessionIdLength) = 0;
-
-  // Resolves a promise for a session loaded.
-  // Resolves to false if we don't have any session data stored for the given
-  // session ID.
-  // Must be called before SessionMessage().
-  virtual void ResolveLoadSessionPromise(uint32_t aPromiseId,
-                                         bool aSuccess) = 0;
-
-  // Called to resolve a specified promise with "undefined".
-  virtual void ResolvePromise(uint32_t aPromiseId) = 0;
-
-  // Called to reject a promise with a DOMException.
-  // aMessage is logged to the WebConsole.
-  // aMessage is optional, but if present must be null terminated.
-  virtual void RejectPromise(uint32_t aPromiseId,
-                             GMPDOMException aException,
-                             const char* aMessage,
-                             uint32_t aMessageLength) = 0;
-
-  // Called by the CDM when it has a message for a session.
-  // Length parameters should not include null termination.
-  // aSessionId must be null terminated.
-  virtual void SessionMessage(const char* aSessionId,
-                              uint32_t aSessionIdLength,
-                              GMPSessionMessageType aMessageType,
-                              const uint8_t* aMessage,
-                              uint32_t aMessageLength) = 0;
-
-  // aSessionId must be null terminated.
-   virtual void ExpirationChange(const char* aSessionId,
-                                 uint32_t aSessionIdLength,
-                                 GMPTimestamp aExpiryTime) = 0;
-
-  // Called by the GMP when a session is closed. All file IO
-  // that a session requires should be complete before calling this.
-  // aSessionId must be null terminated.
-  virtual void SessionClosed(const char* aSessionId,
-                             uint32_t aSessionIdLength) = 0;
-
-  // Called by the GMP when an error occurs in a session.
-  // aSessionId must be null terminated.
-  // aMessage is logged to the WebConsole.
-  // aMessage is optional, but if present must be null terminated.
-  virtual void SessionError(const char* aSessionId,
-                            uint32_t aSessionIdLength,
-                            GMPDOMException aException,
-                            uint32_t aSystemCode,
-                            const char* aMessage,
-                            uint32_t aMessageLength) = 0;
-
-  // Notifies the status of a key. Gecko will not call into the CDM to decrypt
-  // or decode content encrypted with a key unless the CDM has marked it
-  // usable first. So a CDM *MUST* mark its usable keys as usable!
-  virtual void KeyStatusChanged(const char* aSessionId,
-                                uint32_t aSessionIdLength,
-                                const uint8_t* aKeyId,
-                                uint32_t aKeyIdLength,
-                                GMPMediaKeyStatus aStatus) = 0;
-
-  // The CDM must report its capabilites of this CDM. aCaps should be a
-  // logical OR of the GMP_EME_CAP_* flags. The CDM *MUST* call this
-  // function and report whether it can decrypt and/or decode. Without
-  // this, Gecko does not know how to use the CDM and will not send
-  // samples to the CDM to decrypt or decrypt-and-decode mode. Note a
-  // CDM cannot change modes once playback has begun.
-  virtual void SetCapabilities(uint64_t aCaps) = 0;
-
-  // Returns decrypted buffer to Gecko, or reports failure.
-  virtual void Decrypted(GMPBuffer* aBuffer, GMPErr aResult) = 0;
-
-  virtual ~GMPDecryptorCallback() {}
-};
-
-// Host interface, passed to GetAPIFunc(), with "decrypt".
-class GMPDecryptorHost {
-public:
-  virtual void GetSandboxVoucher(const uint8_t** aVoucher,
-                                 uint32_t* aVoucherLength) = 0;
-
-  virtual void GetPluginVoucher(const uint8_t** aVoucher,
-                                uint32_t* aVoucherLength) = 0;
-
-  virtual ~GMPDecryptorHost() {}
-};
-
-enum GMPSessionType {
-  kGMPTemporySession = 0,
-  kGMPPersistentSession = 1,
-  kGMPSessionInvalid = 2 // Must always be last.
-};
-
-#define GMP_API_DECRYPTOR "eme-decrypt-v7"
-
-// XXX remove in bug 1147692
-#define GMP_API_DECRYPTOR_COMPAT "eme-decrypt-v6"
-
-// API exposed by plugin library to manage decryption sessions.
-// When the Host requests this by calling GMPGetAPIFunc().
-//
-// API name macro: GMP_API_DECRYPTOR
-// Host API: GMPDecryptorHost
-class GMPDecryptor {
-public:
-
-  // Sets the callback to use with the decryptor to return results
-  // to Gecko.
-  //
-  // The CDM must also call GMPDecryptorCallback::SetCapabilities()
-  // exactly once during start up, to inform Gecko whether to use the CDM
-  // in decrypt or decrypt-and-decode mode.
-  //
-  // Note: GMPDecryptorCallback::SetCapabilities() must be called before
-  // Gecko will send any samples for decryption to the GMP.
-  virtual void Init(GMPDecryptorCallback* aCallback) = 0;
-
-  // Initiates the creation of a session given |aType| and |aInitData|, and
-  // the generation of a license request message.
-  //
-  // This corresponds to a MediaKeySession.generateRequest() call in JS.
-  //
-  // The GMPDecryptor must do the following, in order, upon this method
-  // being called:
-  //
-  // 1. Generate a sessionId to expose to JS, and call
-  //    GMPDecryptorCallback::SetSessionId(aCreateSessionToken, sessionId...)
-  //    with the sessionId to be exposed to JS/EME on the MediaKeySession
-  //    object on which generateRequest() was called, and then
-  // 2. send any messages to JS/EME required to generate a license request
-  //    given the supplied initData, and then
-  // 3. generate a license request message, and send it to JS/EME, and then
-  // 4. call GMPDecryptorCallback::ResolvePromise().
-  //
-  // Note: GMPDecryptorCallback::SetSessionId(aCreateSessionToken, sessionId, 
...)
-  // *must* be called before GMPDecryptorCallback::SendMessage(sessionId, ...)
-  // will work.
-  //
-  // If generating the request fails, reject aPromiseId by calling
-  // GMPDecryptorCallback::RejectPromise().
-  virtual void CreateSession(uint32_t aCreateSessionToken,
-                             uint32_t aPromiseId,
-                             const char* aInitDataType,
-                             uint32_t aInitDataTypeSize,
-                             const uint8_t* aInitData,
-                             uint32_t aInitDataSize,
-                             GMPSessionType aSessionType) = 0;
-
-  // Loads a previously loaded persistent session.
-  //
-  // This corresponds to a MediaKeySession.load() call in JS.
-  //
-  // The GMPDecryptor must do the following, in order, upon this method
-  // being called:
-  //
-  // 1. Send any messages to JS/EME, or read from storage, whatever is
-  //    required to load the session, and then
-  // 2. if there is no session with the given sessionId loadable, call
-  //    ResolveLoadSessionPromise(aPromiseId, false), otherwise
-  // 2. mark the session's keys as usable, and then
-  // 3. update the session's expiration, and then
-  // 4. call GMPDecryptorCallback::ResolveLoadSessionPromise(aPromiseId, true).
-  //
-  // If loading the session fails due to error, reject aPromiseId by calling
-  // GMPDecryptorCallback::RejectPromise().
-  virtual void LoadSession(uint32_t aPromiseId,
-                           const char* aSessionId,
-                           uint32_t aSessionIdLength) = 0;
-
-  // Updates the session with |aResponse|.
-  // This corresponds to a MediaKeySession.update() call in JS.
-  virtual void UpdateSession(uint32_t aPromiseId,
-                             const char* aSessionId,
-                             uint32_t aSessionIdLength,
-                             const uint8_t* aResponse,
-                             uint32_t aResponseSize) = 0;
-
-  // Releases the resources (keys) for the specified session.
-  // This corresponds to a MediaKeySession.close() call in JS.
-  virtual void CloseSession(uint32_t aPromiseId,
-                            const char* aSessionId,
-                            uint32_t aSessionIdLength) = 0;
-
-  // Removes the resources (keys) for the specified session.
-  // This corresponds to a MediaKeySession.remove() call in JS.
-  virtual void RemoveSession(uint32_t aPromiseId,
-                             const char* aSessionId,
-                             uint32_t aSessionIdLength) = 0;
-
-  // Resolve/reject promise on completion.
-  // This corresponds to a MediaKeySession.setServerCertificate() call in JS.
-  virtual void SetServerCertificate(uint32_t aPromiseId,
-                                    const uint8_t* aServerCert,
-                                    uint32_t aServerCertSize) = 0;
-
-  // Asynchronously decrypts aBuffer in place. When the decryption is
-  // complete, GMPDecryptor should write the decrypted data back into the
-  // same GMPBuffer object and return it to Gecko by calling Decrypted(),
-  // with the GMPNoErr successcode. If decryption fails, call Decrypted()
-  // with a failure code, and an error event will fire on the media element.
-  // Note: When Decrypted() is called and aBuffer is passed back, aBuffer
-  // is deleted. Don't forget to call Decrypted(), as otherwise aBuffer's
-  // memory will leak!
-  virtual void Decrypt(GMPBuffer* aBuffer,
-                       GMPEncryptedBufferMetadata* aMetadata) = 0;
-
-  // Called when the decryption operations are complete.
-  // Do not call the GMPDecryptorCallback's functions after this is called.
-  virtual void DecryptingComplete() = 0;
-
-  virtual ~GMPDecryptor() {}
-};
-
-#endif // GMP_DECRYPTION_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-entrypoints.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-entrypoints.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-entrypoints.h      
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-entrypoints.h      
2021-10-12 22:10:41.000000000 +0200
@@ -40,9 +40,11 @@
 /* C functions exposed by Gecko Media Plugin shared library. */
 
 // GMPInit
-// - Called once after plugin library is loaded, before GMPGetAPI or 
GMPShutdown are called.
+// - Called once after plugin library is loaded, before GMPGetAPI or 
GMPShutdown
+// are called.
 // - Called on main thread.
-// - 'aPlatformAPI' is a structure containing platform-provided APIs. It is 
valid until
+// - 'aPlatformAPI' is a structure containing platform-provided APIs. It is
+// valid until
 //   'GMPShutdown' is called. Owned and must be deleted by plugin.
 typedef GMPErr (*GMPInitFunc)(const GMPPlatformAPI* aPlatformAPI);
 
@@ -55,21 +57,17 @@
 //   make sure you compare aAPIName against the corresponding GMP_API_* macro!
 // - 'aHostAPI' is the host API which is specific to the API being requested
 //   from the plugin. It is valid so long as the API object requested from the
-//   plugin is valid. It is owned by the host, plugin should not attempt to 
delete.
-//   May be null.
-// - 'aPluginAPI' is for returning the requested API. Destruction of the 
requsted
+//   plugin is valid. It is owned by the host, plugin should not attempt to
+//   delete. May be null.
+// - 'aPluginAPI' is for returning the requested API. Destruction of the
+// requsted
 //   API object is defined by the API.
-typedef GMPErr (*GMPGetAPIFunc)(const char* aAPIName, void* aHostAPI, void** 
aPluginAPI);
+typedef GMPErr (*GMPGetAPIFunc)(const char* aAPIName, void* aHostAPI,
+                                void** aPluginAPI);
 
 // GMPShutdown
 // - Called once before exiting process (unloading library).
 // - Called on main thread.
-typedef void   (*GMPShutdownFunc)(void);
+typedef void (*GMPShutdownFunc)(void);
 
-// GMPSetNodeId
-// - Optional, not required to be implemented. Only useful for EME plugins.
-// - Called after GMPInit to set the device-bound origin-specific node id
-//   that this GMP instance is running under.
-typedef void   (*GMPSetNodeIdFunc)(const char* aNodeId, uint32_t aLength);
-
-#endif // GMP_ENTRYPOINTS_h_
+#endif  // GMP_ENTRYPOINTS_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-errors.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-errors.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-errors.h   
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-errors.h   
2021-10-12 22:10:41.000000000 +0200
@@ -48,10 +48,12 @@
   GMPEndOfEnumeration = 11,
   GMPInvalidArgErr = 12,
   GMPAbortedErr = 13,
-  GMPLastErr // Placeholder, must be last. This enum's values must remain 
consecutive!
+  GMPRecordCorrupted = 14,
+  GMPLastErr  // Placeholder, must be last. This enum's values must remain
+              // consecutive!
 } GMPErr;
 
 #define GMP_SUCCEEDED(x) ((x) == GMPNoErr)
 #define GMP_FAILED(x) ((x) != GMPNoErr)
 
-#endif // GMP_ERRORS_h_
+#endif  // GMP_ERRORS_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-platform.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-platform.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-platform.h 
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-platform.h 
2021-10-12 22:10:41.000000000 +0200
@@ -40,27 +40,27 @@
 /* Platform helper API. */
 
 class GMPTask {
-public:
-  virtual void Destroy() = 0; // Deletes object.
-  virtual ~GMPTask() {}
+ public:
+  virtual void Destroy() = 0;  // Deletes object.
+  virtual ~GMPTask() = default;
   virtual void Run() = 0;
 };
 
 class GMPThread {
-public:
-  virtual ~GMPThread() {}
+ public:
+  virtual ~GMPThread() = default;
   virtual void Post(GMPTask* aTask) = 0;
-  virtual void Join() = 0; // Deletes object after join completes.
+  virtual void Join() = 0;  // Deletes object after join completes.
 };
 
 // A re-entrant monitor; can be locked from the same thread multiple times.
 // Must be unlocked the same number of times it's locked.
 class GMPMutex {
-public:
-  virtual ~GMPMutex() {}
+ public:
+  virtual ~GMPMutex() = default;
   virtual void Acquire() = 0;
   virtual void Release() = 0;
-  virtual void Destroy() = 0; // Deletes object.
+  virtual void Destroy() = 0;  // Deletes object.
 };
 
 // Time is defined as the number of milliseconds since the
@@ -79,31 +79,16 @@
                                      GMPRecordClient* aClient);
 
 // Call on main thread only.
-typedef GMPErr (*GMPSetTimerOnMainThreadPtr)(GMPTask* aTask, int64_t 
aTimeoutMS);
+typedef GMPErr (*GMPSetTimerOnMainThreadPtr)(GMPTask* aTask,
+                                             int64_t aTimeoutMS);
 typedef GMPErr (*GMPGetCurrentTimePtr)(GMPTimestamp* aOutTime);
 
-typedef void (*RecvGMPRecordIteratorPtr)(GMPRecordIterator* aRecordIterator,
-                                         void* aUserArg,
-                                         GMPErr aStatus);
-
-// Creates a GMPCreateRecordIterator to enumerate the records in storage.
-// When the iterator is ready, the function at aRecvIteratorFunc
-// is called with the GMPRecordIterator as an argument. If the operation
-// fails, RecvGMPRecordIteratorPtr is called with a failure aStatus code.
-// The list that the iterator is covering is fixed when
-// GMPCreateRecordIterator is called, it is *not* updated when changes are
-// made to storage.
-// Iterator begins pointing at first record.
-// aUserArg is passed to the aRecvIteratorFunc upon completion.
-typedef GMPErr (*GMPCreateRecordIteratorPtr)(RecvGMPRecordIteratorPtr 
aRecvIteratorFunc,
-                                             void* aUserArg);
-
 struct GMPPlatformAPI {
   // Increment the version when things change. Can only add to the struct,
   // do not change what already exists. Pointers to functions may be NULL
   // when passed to plugins, but beware backwards compat implications of
   // doing that.
-  uint16_t version; // Currently version 0
+  uint16_t version;  // Currently version 0
 
   GMPCreateThreadPtr createthread;
   GMPRunOnMainThreadPtr runonmainthread;
@@ -112,7 +97,6 @@
   GMPCreateRecordPtr createrecord;
   GMPSetTimerOnMainThreadPtr settimer;
   GMPGetCurrentTimePtr getcurrenttime;
-  GMPCreateRecordIteratorPtr getrecordenumerator;
 };
 
-#endif // GMP_PLATFORM_h_
+#endif  // GMP_PLATFORM_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-storage.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-storage.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-storage.h  
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-storage.h  
2021-10-12 22:10:41.000000000 +0200
@@ -1,18 +1,18 @@
 /*
-* Copyright 2013, Mozilla Foundation and contributors
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
+ * Copyright 2013, Mozilla Foundation and contributors
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
 
 #ifndef GMP_STORAGE_h_
 #define GMP_STORAGE_h_
@@ -40,8 +40,7 @@
 // GMPRecord to delete the GMPRecord object's memory. If your GMP does not
 // call Close(), the GMPRecord's memory will leak.
 class GMPRecord {
-public:
-
+ public:
   // Opens the record. Calls OpenComplete() once the record is open.
   // Note: Only work when GMP is loading content from a webserver.
   // Does not work for web pages on loaded from disk.
@@ -65,14 +64,13 @@
   // callbacks.
   virtual GMPErr Close() = 0;
 
-  virtual ~GMPRecord() {}
+  virtual ~GMPRecord() = default;
 };
 
 // Callback object that receives the results of GMPRecord calls. Callbacks
 // run asynchronously to the GMPRecord call, on the main thread.
 class GMPRecordClient {
  public:
-
   // Response to a GMPRecord::Open() call with the open |status|.
   // aStatus values:
   // - GMPNoErr - Record opened successfully. Record may be empty.
@@ -94,8 +92,7 @@
   // - GMPGenericErr - Unspecified error.
   // If aStatus is not GMPNoErr, the GMPRecord is unusable, and you must
   // call Close() on the GMPRecord to dispose of it.
-  virtual void ReadComplete(GMPErr aStatus,
-                            const uint8_t* aData,
+  virtual void ReadComplete(GMPErr aStatus, const uint8_t* aData,
                             uint32_t aDataSize) = 0;
 
   // Response to a GMPRecord::Write() call.
@@ -107,35 +104,7 @@
   // call Close() on the GMPRecord to dispose of it.
   virtual void WriteComplete(GMPErr aStatus) = 0;
 
-  virtual ~GMPRecordClient() {}
-};
-
-// Iterates over the records that are available. Note: this list maintains
-// a snapshot of the records that were present when the iterator was created.
-// Create by calling the GMPCreateRecordIteratorPtr function on the
-// GMPPlatformAPI struct.
-// Iteration is in alphabetical order.
-class GMPRecordIterator {
-public:
-  // Retrieve the name for the current record.
-  // aOutName is null terminated at character  at index (*aOutNameLength).
-  // Returns GMPNoErr if successful, or GMPEndOfEnumeration if iteration has
-  // reached the end.
-  virtual GMPErr GetName(const char ** aOutName, uint32_t * aOutNameLength) = 
0;
-
-  // Advance iteration to the next record.
-  // Returns GMPNoErr if successful, or GMPEndOfEnumeration if iteration has
-  // reached the end.
-  virtual GMPErr NextRecord() = 0;
-
-  // Signals to the GMP host that the GMP is finished with the
-  // GMPRecordIterator. GMPs must call this to release memory held by
-  // the GMPRecordIterator. Do not access the GMPRecordIterator pointer
-  // after calling this!
-  // Memory retrieved by GetName is *not* valid after calling Close()!
-  virtual void Close() = 0;
-
-  virtual ~GMPRecordIterator() {}
+  virtual ~GMPRecordClient() = default;
 };
 
-#endif // GMP_STORAGE_h_
+#endif  // GMP_STORAGE_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-codec.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-codec.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-codec.h      
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-codec.h      
2021-10-12 22:10:41.000000000 +0200
@@ -37,33 +37,31 @@
 #include <stdint.h>
 #include <stddef.h>
 
-enum { kGMPPayloadNameSize = 32};
-enum { kGMPMaxSimulcastStreams = 4};
+enum { kGMPPayloadNameSize = 32 };
+enum { kGMPMaxSimulcastStreams = 4 };
 
-enum GMPVideoCodecComplexity
-{
+enum GMPVideoCodecComplexity {
   kGMPComplexityNormal = 0,
   kGMPComplexityHigh = 1,
   kGMPComplexityHigher = 2,
   kGMPComplexityMax = 3,
-  kGMPComplexityInvalid // Should always be last
+  kGMPComplexityInvalid  // Should always be last
 };
 
 enum GMPVP8ResilienceMode {
-  kResilienceOff,    // The stream produced by the encoder requires a
-                     // recovery frame (typically a key frame) to be
-                     // decodable after a packet loss.
-  kResilientStream,  // A stream produced by the encoder is resilient to
-                     // packet losses, but packets within a frame subsequent
-                     // to a loss can't be decoded.
-  kResilientFrames,  // Same as kResilientStream but with added resilience
-                     // within a frame.
-  kResilienceInvalid // Should always be last.
+  kResilienceOff,     // The stream produced by the encoder requires a
+                      // recovery frame (typically a key frame) to be
+                      // decodable after a packet loss.
+  kResilientStream,   // A stream produced by the encoder is resilient to
+                      // packet losses, but packets within a frame subsequent
+                      // to a loss can't be decoded.
+  kResilientFrames,   // Same as kResilientStream but with added resilience
+                      // within a frame.
+  kResilienceInvalid  // Should always be last.
 };
 
 // VP8 specific
-struct GMPVideoCodecVP8
-{
+struct GMPVideoCodecVP8 {
   bool mPictureLossIndicationOn;
   bool mFeedbackModeOn;
   GMPVideoCodecComplexity mComplexity;
@@ -78,19 +76,20 @@
 
 // Needs to match a binary spec for this structure.
 // Note: the mSPS at the end of this structure is variable length.
-struct GMPVideoCodecH264AVCC
-{
-  uint8_t        mVersion; // == 0x01
-  uint8_t        mProfile; // these 3 are profile_level_id
-  uint8_t        mConstraints;
-  uint8_t        mLevel;
-  uint8_t        mLengthSizeMinusOne; // lower 2 bits (== GMPBufferType-1). 
Top 6 reserved (1's)
+struct GMPVideoCodecH264AVCC {
+  uint8_t mVersion;  // == 0x01
+  uint8_t mProfile;  // these 3 are profile_level_id
+  uint8_t mConstraints;
+  uint8_t mLevel;
+  uint8_t mLengthSizeMinusOne;  // lower 2 bits (== GMPBufferType-1). Top 6
+                                // reserved (1's)
 
   // SPS/PPS will not generally be present for interactive use unless SDP
   // parameter-sets are used.
-  uint8_t        mNumSPS; // lower 5 bits; top 5 reserved (1's)
+  uint8_t mNumSPS;  // lower 5 bits; top 5 reserved (1's)
 
-  /*** uint8_t   mSPS[];  (Not defined due to compiler warnings and 
warnings-as-errors ...) **/
+  /*** uint8_t   mSPS[];  (Not defined due to compiler warnings and
+   * warnings-as-errors ...) **/
   // Following mNumSPS is a variable number of bytes, which is the SPS and PPS.
   // Each SPS == 16 bit size, ("N"), then "N" bytes,
   // then uint8_t mNumPPS, then each PPS == 16 bit size ("N"), then "N" bytes.
@@ -99,62 +98,61 @@
 // Codec specific data for H.264 decoding/encoding.
 // Cast the "aCodecSpecific" parameter of GMPVideoDecoder::InitDecode() and
 // GMPVideoEncoder::InitEncode() to this structure.
-struct GMPVideoCodecH264
-{
-  uint8_t        mPacketizationMode; // 0 or 1
-  struct GMPVideoCodecH264AVCC mAVCC; // holds a variable-sized struct 
GMPVideoCodecH264AVCC mAVCC;
+struct GMPVideoCodecH264 {
+  uint8_t mPacketizationMode;  // 0 or 1
+  struct GMPVideoCodecH264AVCC
+      mAVCC;  // holds a variable-sized struct GMPVideoCodecH264AVCC mAVCC;
 };
 
-enum GMPVideoCodecType
-{
+enum GMPVideoCodecType {
   kGMPVideoCodecVP8,
 
   // Encoded frames are in AVCC format; NAL length field of 4 bytes, followed
   // by frame data. May be multiple NALUs per sample. Codec specific extra data
   // is the AVCC extra data (in AVCC format).
   kGMPVideoCodecH264,
-  kGMPVideoCodecInvalid // Should always be last.
+  kGMPVideoCodecVP9,
+  kGMPVideoCodecInvalid  // Should always be last.
 };
 
 // Simulcast is when the same stream is encoded multiple times with different
 // settings such as resolution.
-struct GMPSimulcastStream
-{
+struct GMPSimulcastStream {
   uint32_t mWidth;
   uint32_t mHeight;
   uint32_t mNumberOfTemporalLayers;
-  uint32_t mMaxBitrate; // kilobits/sec.
-  uint32_t mTargetBitrate; // kilobits/sec.
-  uint32_t mMinBitrate; // kilobits/sec.
-  uint32_t mQPMax; // minimum quality
+  uint32_t mMaxBitrate;     // kilobits/sec.
+  uint32_t mTargetBitrate;  // kilobits/sec.
+  uint32_t mMinBitrate;     // kilobits/sec.
+  uint32_t mQPMax;          // minimum quality
 };
 
 enum GMPVideoCodecMode {
   kGMPRealtimeVideo,
   kGMPScreensharing,
   kGMPStreamingVideo,
-  kGMPCodecModeInvalid // Should always be last.
+  kGMPCodecModeInvalid  // Should always be last.
 };
 
 enum GMPApiVersion {
-  kGMPVersion32 = 1, // leveraging that V32 had mCodecType first, and only 
supported H264
+  kGMPVersion32 =
+      1,  // leveraging that V32 had mCodecType first, and only supported H264
   kGMPVersion33 = 33,
 };
 
-struct GMPVideoCodec
-{
+struct GMPVideoCodec {
   uint32_t mGMPApiVersion;
 
   GMPVideoCodecType mCodecType;
-  char mPLName[kGMPPayloadNameSize]; // Must be NULL-terminated!
+  char mPLName[kGMPPayloadNameSize];  // Must be NULL-terminated!
   uint32_t mPLType;
 
   uint32_t mWidth;
   uint32_t mHeight;
 
-  uint32_t mStartBitrate; // kilobits/sec.
-  uint32_t mMaxBitrate; // kilobits/sec.
-  uint32_t mMinBitrate; // kilobits/sec.
+  uint32_t mStartBitrate;  // kilobits/sec.
+  uint32_t mMaxBitrate;    // kilobits/sec.
+  uint32_t mMinBitrate;    // kilobits/sec.
   uint32_t mMaxFramerate;
 
   bool mFrameDroppingOn;
@@ -190,23 +188,21 @@
 
 // Note: if any pointers are added to this struct, it must be fitted
 // with a copy-constructor. See below.
-struct GMPCodecSpecificInfoVP8
-{
+struct GMPCodecSpecificInfoVP8 {
   bool mHasReceivedSLI;
   uint8_t mPictureIdSLI;
   bool mHasReceivedRPSI;
   uint64_t mPictureIdRPSI;
-  int16_t mPictureId; // negative value to skip pictureId
+  int16_t mPictureId;  // negative value to skip pictureId
   bool mNonReference;
   uint8_t mSimulcastIdx;
   uint8_t mTemporalIdx;
   bool mLayerSync;
-  int32_t mTL0PicIdx; // negative value to skip tl0PicIdx
-  int8_t mKeyIdx; // negative value to skip keyIdx
+  int32_t mTL0PicIdx;  // negative value to skip tl0PicIdx
+  int8_t mKeyIdx;      // negative value to skip keyIdx
 };
 
-union GMPCodecSpecificInfoUnion
-{
+union GMPCodecSpecificInfoUnion {
   GMPCodecSpecificInfoGeneric mGeneric;
   GMPCodecSpecificInfoVP8 mVP8;
   GMPCodecSpecificInfoH264 mH264;
@@ -215,11 +211,10 @@
 // Note: if any pointers are added to this struct or its sub-structs, it
 // must be fitted with a copy-constructor. This is because it is copied
 // in the copy-constructor of VCMEncodedFrame.
-struct GMPCodecSpecificInfo
-{
+struct GMPCodecSpecificInfo {
   GMPVideoCodecType mCodecType;
   GMPBufferType mBufferType;
   GMPCodecSpecificInfoUnion mCodecSpecific;
 };
 
-#endif // GMP_VIDEO_CODEC_h_
+#endif  // GMP_VIDEO_CODEC_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-decode.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-decode.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-decode.h     
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-decode.h     
2021-10-12 22:10:41.000000000 +0200
@@ -41,9 +41,8 @@
 #include <stdint.h>
 
 // ALL METHODS MUST BE CALLED ON THE MAIN THREAD
-class GMPVideoDecoderCallback
-{
-public:
+class GMPVideoDecoderCallback {
+ public:
   virtual ~GMPVideoDecoderCallback() {}
 
   virtual void Decoded(GMPVideoi420Frame* aDecodedFrame) = 0;
@@ -72,9 +71,8 @@
 // Host API: GMPVideoHost
 //
 // ALL METHODS MUST BE CALLED ON THE MAIN THREAD
-class GMPVideoDecoder
-{
-public:
+class GMPVideoDecoder {
+ public:
   virtual ~GMPVideoDecoder() {}
 
   // - aCodecSettings: Details of decoder to create.
@@ -82,7 +80,8 @@
   //                   to get codec specific config data.
   // - aCodecSpecificLength: number of bytes in aCodecSpecific.
   // - aCallback: Subclass should retain reference to it until DecodingComplete
-  //              is called. Do not attempt to delete it, host retains 
ownership.
+  //              is called. Do not attempt to delete it, host retains
+  //              ownership.
   // aCoreCount: number of CPU cores.
   virtual void InitDecode(const GMPVideoCodec& aCodecSettings,
                           const uint8_t* aCodecSpecific,
@@ -102,8 +101,7 @@
   // - aCodecSpecificInfoLength : number of bytes in aCodecSpecificInfo
   // - renderTimeMs : System time to render in milliseconds. Only used by
   //                  decoders with internal rendering.
-  virtual void Decode(GMPVideoEncodedFrame* aInputFrame,
-                      bool aMissingFrames,
+  virtual void Decode(GMPVideoEncodedFrame* aInputFrame, bool aMissingFrames,
                       const uint8_t* aCodecSpecificInfo,
                       uint32_t aCodecSpecificInfoLength,
                       int64_t aRenderTimeMs = -1) = 0;
@@ -124,4 +122,4 @@
   virtual void DecodingComplete() = 0;
 };
 
-#endif // GMP_VIDEO_DECODE_h_
+#endif  // GMP_VIDEO_DECODE_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-encode.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-encode.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-encode.h     
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-encode.h     
2021-10-12 22:10:41.000000000 +0200
@@ -43,9 +43,8 @@
 #include "gmp-video-codec.h"
 
 // ALL METHODS MUST BE CALLED ON THE MAIN THREAD
-class GMPVideoEncoderCallback
-{
-public:
+class GMPVideoEncoderCallback {
+ public:
   virtual ~GMPVideoEncoderCallback() {}
 
   virtual void Encoded(GMPVideoEncodedFrame* aEncodedFrame,
@@ -66,9 +65,8 @@
 // Host API: GMPVideoHost
 //
 // ALL METHODS MUST BE CALLED ON THE MAIN THREAD
-class GMPVideoEncoder
-{
-public:
+class GMPVideoEncoder {
+ public:
   virtual ~GMPVideoEncoder() {}
 
   // Initialize the encoder with the information from the VideoCodec.
@@ -80,7 +78,8 @@
   //                    this codec type.
   // - aCodecSpecificLength : number of bytes in aCodecSpecific
   // - aCallback: Subclass should retain reference to it until EncodingComplete
-  //              is called. Do not attempt to delete it, host retains 
ownership.
+  //              is called. Do not attempt to delete it, host retains
+  //              ownership.
   // - aNnumberOfCores : Number of cores available for the encoder
   // - aMaxPayloadSize : The maximum size each payload is allowed
   //                    to have. Usually MTU - overhead.
@@ -88,8 +87,7 @@
                           const uint8_t* aCodecSpecific,
                           uint32_t aCodecSpecificLength,
                           GMPVideoEncoderCallback* aCallback,
-                          int32_t aNumberOfCores,
-                          uint32_t aMaxPayloadSize) = 0;
+                          int32_t aNumberOfCores, uint32_t aMaxPayloadSize) = 
0;
 
   // Encode an I420 frame (as a part of a video stream). The encoded frame
   // will be returned to the user through the encode complete callback.
@@ -122,8 +120,8 @@
   // - frameRate : The target frame rate
   virtual void SetRates(uint32_t aNewBitRate, uint32_t aFrameRate) = 0;
 
-  // Use this function to enable or disable periodic key frames. Can be useful 
for codecs
-  // which have other ways of stopping error propagation.
+  // Use this function to enable or disable periodic key frames. Can be useful
+  // for codecs which have other ways of stopping error propagation.
   //
   // - enable : Enable or disable periodic key frames
   virtual void SetPeriodicKeyFrames(bool aEnable) = 0;
@@ -132,4 +130,4 @@
   virtual void EncodingComplete() = 0;
 };
 
-#endif // GMP_VIDEO_ENCODE_h_
+#endif  // GMP_VIDEO_ENCODE_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-frame-encoded.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-frame-encoded.h
--- 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-frame-encoded.h  
    2015-03-27 00:25:19.000000000 +0100
+++ 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-frame-encoded.h  
    2021-10-12 22:10:41.000000000 +0200
@@ -35,18 +35,16 @@
 #define GMP_VIDEO_FRAME_ENCODED_h_
 
 #include <stdint.h>
-#include "gmp-decryption.h"
 #include "gmp-video-frame.h"
 #include "gmp-video-codec.h"
 
-enum GMPVideoFrameType
-{
+enum GMPVideoFrameType {
   kGMPKeyFrame = 0,
   kGMPDeltaFrame = 1,
   kGMPGoldenFrame = 2,
   kGMPAltRefFrame = 3,
   kGMPSkipFrame = 4,
-  kGMPVideoFrameInvalid = 5 // Must always be last.
+  kGMPVideoFrameInvalid = 5  // Must always be last.
 };
 
 // The implementation backing this interface uses shared memory for the
@@ -58,42 +56,37 @@
 //
 // Methods that create or destroy shared memory must be called on the main
 // thread. They are marked below.
-class GMPVideoEncodedFrame : public GMPVideoFrame
-{
-public:
+class GMPVideoEncodedFrame : public GMPVideoFrame {
+ public:
   // MAIN THREAD ONLY
   virtual GMPErr CreateEmptyFrame(uint32_t aSize) = 0;
   // MAIN THREAD ONLY
   virtual GMPErr CopyFrame(const GMPVideoEncodedFrame& aVideoFrame) = 0;
-  virtual void     SetEncodedWidth(uint32_t aEncodedWidth) = 0;
+  virtual void SetEncodedWidth(uint32_t aEncodedWidth) = 0;
   virtual uint32_t EncodedWidth() = 0;
-  virtual void     SetEncodedHeight(uint32_t aEncodedHeight) = 0;
+  virtual void SetEncodedHeight(uint32_t aEncodedHeight) = 0;
   virtual uint32_t EncodedHeight() = 0;
   // Microseconds
-  virtual void     SetTimeStamp(uint64_t aTimeStamp) = 0;
+  virtual void SetTimeStamp(uint64_t aTimeStamp) = 0;
   virtual uint64_t TimeStamp() = 0;
   // Set frame duration (microseconds)
   // NOTE: next-frame's Timestamp() != this-frame's TimeStamp()+Duration()
   // depending on rounding to avoid having to track roundoff errors
   // and dropped/missing frames(!) (which may leave a large gap)
-  virtual void     SetDuration(uint64_t aDuration) = 0;
+  virtual void SetDuration(uint64_t aDuration) = 0;
   virtual uint64_t Duration() const = 0;
-  virtual void     SetFrameType(GMPVideoFrameType aFrameType) = 0;
+  virtual void SetFrameType(GMPVideoFrameType aFrameType) = 0;
   virtual GMPVideoFrameType FrameType() = 0;
-  virtual void     SetAllocatedSize(uint32_t aNewSize) = 0;
+  virtual void SetAllocatedSize(uint32_t aNewSize) = 0;
   virtual uint32_t AllocatedSize() = 0;
-  virtual void     SetSize(uint32_t aSize) = 0;
+  virtual void SetSize(uint32_t aSize) = 0;
   virtual uint32_t Size() = 0;
-  virtual void     SetCompleteFrame(bool aCompleteFrame) = 0;
-  virtual bool     CompleteFrame() = 0;
+  virtual void SetCompleteFrame(bool aCompleteFrame) = 0;
+  virtual bool CompleteFrame() = 0;
   virtual const uint8_t* Buffer() const = 0;
-  virtual uint8_t*       Buffer() = 0;
-  virtual GMPBufferType  BufferType() const = 0;
-  virtual void     SetBufferType(GMPBufferType aBufferType) = 0;
-
-  // Get metadata describing how this frame is encrypted, or nullptr if the
-  // frame is not encrypted.
-  virtual const GMPEncryptedBufferMetadata* GetDecryptionData() const = 0;
+  virtual uint8_t* Buffer() = 0;
+  virtual GMPBufferType BufferType() const = 0;
+  virtual void SetBufferType(GMPBufferType aBufferType) = 0;
 };
 
-#endif // GMP_VIDEO_FRAME_ENCODED_h_
+#endif  // GMP_VIDEO_FRAME_ENCODED_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-frame-i420.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-frame-i420.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-frame-i420.h 
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-frame-i420.h 
2021-10-12 22:10:41.000000000 +0200
@@ -57,14 +57,15 @@
 // Methods that create or destroy shared memory must be called on the main
 // thread. They are marked below.
 class GMPVideoi420Frame : public GMPVideoFrame {
-public:
+ public:
   // MAIN THREAD ONLY
   // CreateEmptyFrame: Sets frame dimensions and allocates buffers based
   // on set dimensions - height and plane stride.
   // If required size is bigger than the allocated one, new buffers of adequate
   // size will be allocated.
   virtual GMPErr CreateEmptyFrame(int32_t aWidth, int32_t aHeight,
-                                  int32_t aStride_y, int32_t aStride_u, 
int32_t aStride_v) = 0;
+                                  int32_t aStride_y, int32_t aStride_u,
+                                  int32_t aStride_v) = 0;
 
   // MAIN THREAD ONLY
   // CreateFrame: Sets the frame's members and buffers. If required size is
@@ -72,8 +73,8 @@
   virtual GMPErr CreateFrame(int32_t aSize_y, const uint8_t* aBuffer_y,
                              int32_t aSize_u, const uint8_t* aBuffer_u,
                              int32_t aSize_v, const uint8_t* aBuffer_v,
-                             int32_t aWidth, int32_t aHeight,
-                             int32_t aStride_y, int32_t aStride_u, int32_t 
aStride_v) = 0;
+                             int32_t aWidth, int32_t aHeight, int32_t 
aStride_y,
+                             int32_t aStride_u, int32_t aStride_v) = 0;
 
   // MAIN THREAD ONLY
   // Copy frame: If required size is bigger than allocated one, new buffers of
@@ -125,8 +126,9 @@
   // Return true if underlying plane buffers are of zero size, false if not.
   virtual bool IsZeroSize() const = 0;
 
-  // Reset underlying plane buffers sizes to 0. This function doesn't clear 
memory.
+  // Reset underlying plane buffers sizes to 0. This function doesn't clear
+  // memory.
   virtual void ResetSize() = 0;
 };
 
-#endif // GMP_VIDEO_FRAME_I420_h_
+#endif  // GMP_VIDEO_FRAME_I420_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-frame.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-frame.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-frame.h      
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-frame.h      
2021-10-12 22:10:41.000000000 +0200
@@ -36,16 +36,13 @@
 
 #include "gmp-video-plane.h"
 
-enum GMPVideoFrameFormat {
-  kGMPEncodedVideoFrame = 0,
-  kGMPI420VideoFrame = 1
-};
+enum GMPVideoFrameFormat { kGMPEncodedVideoFrame = 0, kGMPI420VideoFrame = 1 };
 
 class GMPVideoFrame {
-public:
+ public:
   virtual GMPVideoFrameFormat GetFrameFormat() = 0;
   // MAIN THREAD ONLY IF OWNING PROCESS
   virtual void Destroy() = 0;
 };
 
-#endif // GMP_VIDEO_FRAME_h_
+#endif  // GMP_VIDEO_FRAME_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-host.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-host.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-host.h       
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-host.h       
2021-10-12 22:10:41.000000000 +0200
@@ -40,14 +40,14 @@
 #include "gmp-video-codec.h"
 
 // This interface must be called on the main thread only.
-class GMPVideoHost
-{
-public:
+class GMPVideoHost {
+ public:
   // Construct various video API objects. Host does not retain reference,
   // caller is owner and responsible for deleting.
   // MAIN THREAD ONLY
-  virtual GMPErr CreateFrame(GMPVideoFrameFormat aFormat, GMPVideoFrame** 
aFrame) = 0;
+  virtual GMPErr CreateFrame(GMPVideoFrameFormat aFormat,
+                             GMPVideoFrame** aFrame) = 0;
   virtual GMPErr CreatePlane(GMPPlane** aPlane) = 0;
 };
 
-#endif // GMP_VIDEO_HOST_h_
+#endif  // GMP_VIDEO_HOST_h_
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-plane.h 
new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-plane.h
--- old/gmp-api-c5f1d0f3213178818cbfb3e16f31d07328980560/gmp-video-plane.h      
2015-03-27 00:25:19.000000000 +0100
+++ new/gmp-api-3a01c086d1b0394238ff1b5ad22e76022830625a/gmp-video-plane.h      
2021-10-12 22:10:41.000000000 +0200
@@ -47,13 +47,12 @@
 // Methods that create or destroy shared memory must be called on the main
 // thread. They are marked below.
 class GMPPlane {
-public:
+ public:
   // MAIN THREAD ONLY
   // CreateEmptyPlane - set allocated size, actual plane size and stride:
   // If current size is smaller than current size, then a buffer of sufficient
   // size will be allocated.
-  virtual GMPErr CreateEmptyPlane(int32_t aAllocatedSize,
-                                  int32_t aStride,
+  virtual GMPErr CreateEmptyPlane(int32_t aAllocatedSize, int32_t aStride,
                                   int32_t aPlaneSize) = 0;
 
   // MAIN THREAD ONLY
@@ -63,7 +62,8 @@
   // MAIN THREAD ONLY
   // Copy buffer: If current size is smaller
   // than current size, then a buffer of sufficient size will be allocated.
-  virtual GMPErr Copy(int32_t aSize, int32_t aStride, const uint8_t* aBuffer) 
= 0;
+  virtual GMPErr Copy(int32_t aSize, int32_t aStride,
+                      const uint8_t* aBuffer) = 0;
 
   // Swap plane data.
   virtual void Swap(GMPPlane& aPlane) = 0;
@@ -91,4 +91,4 @@
   virtual void Destroy() = 0;
 };
 
-#endif // GMP_VIDEO_PLANE_h_
+#endif  // GMP_VIDEO_PLANE_h_

++++++ openh264-2.1.1.tar.gz -> openh264-2.2.0.tar.gz ++++++
/work/SRC/openSUSE:Factory/openh264/openh264-2.1.1.tar.gz 
/work/SRC/openSUSE:Factory/.openh264.new.25692/openh264-2.2.0.tar.gz differ: 
char 15, line 1

Reply via email to