olbox/audio_converter_services
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 250 +
1 file changed, 144 insertions(+), 106 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index 0cd6e646d5..79c9207cfa 100644
.
Otherwise, is there any appropriate step to help getting this merged?
Thanks for any insight!
-- Romain
> On Nov 30, 2021, at 12:02 AM, Romain Beauxis wrote:
>
> * Implement support for AudioConverter
> * Switch to AudioConverter's API to convert unsupported PCM
> formats (
The logic for extracting HLS codec attribute strings is very useful and
can be re-used in many different situations when working with HLS
streams using libavcodec/libavformat.
This patch extracts the function's code and places it into a publicly
available function.
---
libavcodec/Makefile | 2
The logic for extracting HLS codec attribute strings is very useful and
can be re-used in many different situations when working with HLS
streams using libavcodec/libavformat.
This patch extracts the function's code and places it into a publicly
available function.
Differences since v1:
- ff_nal_
Le mar. 31 oct. 2023 à 08:28, Michael Niedermayer
a écrit :
>
> On Sun, Oct 29, 2023 at 08:05:50PM -0500, Romain Beauxis wrote:
> > The logic for extracting HLS codec attribute strings is very useful and
> > can be re-used in many different situations when working with HLS
Le mar. 31 oct. 2023 à 11:47, Zhao Zhili a écrit :
>
>
> > From: ffmpeg-devel On Behalf Of Romain
> > Beauxis
> > Sent: 2023年10月30日 9:06
> > To: ffmpeg-devel@ffmpeg.org
> > Cc: Romain Beauxis
> > Subject: [FFmpeg-devel] [PATCH] Extract av_hls_codec
The logic for extracting HLS codec attribute strings is very useful and
can be re-used in many different situations when working with HLS
streams using libavcodec/libavformat.
This patch extracts the function's code and places it into a publicly
available function.
Differences since v2:
- Shared
Le ven. 3 nov. 2023 à 03:00, Andreas Rheinhardt
a écrit :
>
> Romain Beauxis:
> > The logic for extracting HLS codec attribute strings is very useful and
> > can be re-used in many different situations when working with HLS
> > streams using libavcodec/libavformat.
> &g
Le mar. 14 nov. 2023 à 09:47, Tomas Härdin a écrit :
>
> tis 2023-11-07 klockan 15:12 +0100 skrev Michael Riedl:
> > Whitespaces after semicolon breaks some servers
>
> Which servers? If the spec allows whitespace then the onus is on them
> to fix their implementations.
The logic could be inverte
This patch adds support for updating HLS metadata passed as ID3 frames.
This seems like a pretty straight-forward improvement. Updating the
metadaata of the first stream seems to be the mechanism is other places
in the code and works as expected.
---
libavformat/hls.c | 54 ++
This patch adds a FATE test for the new HLS metadata update. The fate
sample consists of a two segment AAC hls stream. The first segment has
test title 1 as title metadata while the second has test title 2.
In the log, we can see that test title 2 is reported for the stream,
indicating that the me
On Mon, Mar 25, 2024, 19:58 Romain Beauxis wrote:
> This patch adds support for updating HLS metadata passed as ID3 frames.
>
> This seems like a pretty straight-forward improvement. Updating the
> metadaata of the first stream seems to be the mechanism is other places
> in the co
On Sun, Mar 31, 2024, 05:52 Liu Steven wrote:
>
>
> > On Mar 29, 2024, at 06:51, Romain Beauxis wrote:
> >
> > On Mon, Mar 25, 2024, 19:58 Romain Beauxis wrote:
> >
> >> This patch adds support for updating HLS metadata passed as ID3 frames.
> >>
On Sun, Mar 31, 2024, 12:46 Romain Beauxis wrote:
>
>
> On Sun, Mar 31, 2024, 05:52 Liu Steven wrote:
>
>>
>>
>> > On Mar 29, 2024, at 06:51, Romain Beauxis wrote:
>> >
>> > On Mon, Mar 25, 2024, 19:58 Romain Beauxis
>> wrote:
>
Le dim. 7 avr. 2024 à 05:44, Steven Liu a écrit :
> Romain Beauxis 于2024年3月26日周二 08:58写道:
> >
> > This patch adds support for updating HLS metadata passed as ID3 frames.
> >
> > This seems like a pretty straight-forward improvement. Updating the
> > metadaata of
On Wed, Apr 3, 2024, 11:39 Kieran Kunhya via ffmpeg-devel <
ffmpeg-devel@ffmpeg.org> wrote:
> Hi Raphael,
>
> I was the author of the tweet and I gave a short talk about this topic at
> Demuxed at a video conference last year:
> https://m.youtube.com/watch?v=OIyOEuQQsCQ&t=930s
>
> That said this i
[Apologies for continuing the conversation, Rémi]
Le mar. 9 avr. 2024 à 14:05, Tomas Härdin a écrit :
> mån 2024-04-08 klockan 13:13 -0500 skrev Romain Beauxis:
> > On Wed, Apr 3, 2024, 11:39 Kieran Kunhya via ffmpeg-devel <
> > ffmpeg-devel@ffmpeg.org> wrote:
Le mar. 9 avr. 2024 à 18:46, Paul B Mahol a écrit :
> On Tue, Apr 9, 2024 at 10:57 PM Romain Beauxis
> wrote:
>
> > [Apologies for continuing the conversation, Rémi]
> >
> > Le mar. 9 avr. 2024 à 14:05, Tomas Härdin a écrit :
> >
> > > mån 2024-04-0
Hi all,
Le dim. 7 avr. 2024 à 09:46, Romain Beauxis a
écrit :
>
>
> Le dim. 7 avr. 2024 à 05:44, Steven Liu a
> écrit :
>
>> Romain Beauxis 于2024年3月26日周二 08:58写道:
>> >
>> > This patch adds support for updating HLS metadata passed as ID3 frames.
>
Le jeu. 11 avr. 2024 à 09:17, Andreas Rheinhardt <
andreas.rheinha...@outlook.com> a écrit :
> Romain Beauxis:
> > This patch adds a FATE test for the new HLS metadata update. The fate
> > sample consists of a two segment AAC hls stream. The first segment has
> > tes
The new default channel layout for the various RIFF/WAV decoders is not
backward compatible.
Historically, most decoders will expect the channel layouts to follow
the native layout up-to a reasonable number of channels.
Additionally, non-native layouts are causing troubles with filters
chaining.
Le ven. 23 févr. 2024 à 15:11, Marton Balint a écrit :
>
>
>
> On Fri, 23 Feb 2024, Romain Beauxis wrote:
>
> > The new default channel layout for the various RIFF/WAV decoders is not
> > backward compatible.
> >
> > Historically, most decoders will expec
Le sam. 24 févr. 2024 à 19:27, Michael Niedermayer
a écrit :
>
> On Fri, Feb 23, 2024 at 02:41:06PM -0600, Romain Beauxis wrote:
> > The new default channel layout for the various RIFF/WAV decoders is not
> > backward compatible.
> >
> > Historically, most decoders w
> On Dec 7, 2021, at 7:21 AM, Thilo Borgmann wrote:
>
> Hi,
>
> will look at this soon (tm), ping me if I don‘t.
Great, thank you!
Would it be a good use of your time to send the two other patches that I have
pending as well?
— Romain
___
ffmpeg-
rmats
* Minimizes data copy.
This fixes: https://trac.ffmpeg.org/ticket/9502
API ref:
https://developer.apple.com/documentation/audiotoolbox/audio_converter_services
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 250 +
1 file changed, 144 insertions(+)
leaks.
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 220 +
1 file changed, 127 insertions(+), 93 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index 79c9207cfa..95414fd16a 100644
--- a/libavdevice/avfoundation.m
forward and should
not change.
Signed-off-by: Romain Beauxis
---
doc/indevs.texi| 6 ++--
libavdevice/avfoundation.m | 60 ++
2 files changed, 58 insertions(+), 8 deletions(-)
diff --git a/doc/indevs.texi b/doc/indevs.texi
index 5be647f70a..8345b64a28
> On Dec 13, 2021, at 12:25 PM, Marvin Scholz wrote:
>
> On 13 Dec 2021, at 17:40, Romain Beauxis wrote:
>
>> This is the third patch of a series of 3 that cleanup and enhance the
>> avfoundation implementation for libavdevice.
>>
>> This patch adds a
> On Dec 13, 2021, at 12:56 PM, Marvin Scholz wrote:
>
>
>
> On 13 Dec 2021, at 17:39, Romain Beauxis wrote:
>
>> This is the second patch of a series of 3 that cleanup and enhance the
>> avfoundation implementation for libavdevice.
>>
>&
, non-packed) to supported formats
* Minimizes data copy.
This fixes:
https://trac.ffmpeg.org/ticket/9502
API ref:
https://developer.apple.com/documentation/audiotoolbox/audio_converter_services
Signed-off-by: Romain Beauxis <
toots at rastageeks.org>
---
libavdevice/avfoundat
process all frames concurrently to
the producing
thread while avoiding memory leaks.
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 169 +
1 file changed, 76 insertions(+), 93 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavdevice
. This
is needed because device index can change while the machine is running when
devices are plugged or unplugged and device names can be tricky to use with
localization
and etc.
Signed-off-by: Romain Beauxis
---
doc/indevs.texi| 6 ++--
libavdevice/avfoundation.m | 73
Just sent an updated patch here:
http://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/289684.html
> On Dec 13, 2021, at 3:12 PM, Marvin Scholz wrote:
>
>
>
> On 13 Dec 2021, at 21:29, Romain Beauxis wrote:
>
>>> On Dec 13, 2021, at 12:56 PM, Marvin Scholz wrot
Just sent an updated patch here:
http://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/289686.html
> On Dec 13, 2021, at 12:25 PM, Marvin Scholz wrote:
>
> On 13 Dec 2021, at 17:40, Romain Beauxis wrote:
>
>> This is the third patch of a series of 3 that clean
acked) to supported formats
* Minimize data copy.
This fixes: https://trac.ffmpeg.org/ticket/9502
API ref:
https://developer.apple.com/documentation/audiotoolbox/audio_converter_services
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 250 +--
all frames concurrently to the producing thread while avoiding
memory leaks.
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 169 +
1 file changed, 76 insertions(+), 93 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavdevice
lar to the builtin microphone for screen capture
* The : substitution is actually required. The loopback device above did
have it in its name.
Signed-off-by: Romain Beauxis
---
doc/indevs.texi| 6 ++--
libavdevice/avfoundation.m | 72 +-
2 files c
vices
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 250 +
1 file changed, 144 insertions(+), 106 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavdevice/avfoundation.m
index 0cd6e646d5..79c9207cfa 100644
--- a/libavdevice/avfoundation.m
-safety. This greatly simplifies
the logic of the calling code and gives the consuming thread a chance to
process all frames concurrently to the producing thread while avoiding
memory leaks.
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 169 +
1 file
Microphone
(ID:BuiltInMicrophoneDevice)
Notes:
* Unique names do not seem to follow any specific pattern. I have used
one similar to the builtin microphone for screen capture
* The : substitution is actually required. The loopback device above did
have it in its name.
Signed-off-by: Romain Beauxis
---
doc/i
> On Dec 17, 2021, at 3:51 PM, Marvin Scholz wrote:
>
>
>
> On 17 Dec 2021, at 16:12, Romain Beauxis wrote:
>
>> This is the third patch of a series of 3 that cleanup and enhance the
>> avfoundation implementation for libavdevice.
>>
>> Changes:
&
I ref:
https://developer.apple.com/documentation/audiotoolbox/audio_converter_services
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 250 +
1 file changed, 144 insertions(+), 106 deletions(-)
diff --git a/libavdevice/avfoundation.m b/libavd
logic of the calling code and gives the consuming thread a chance to
process all frames concurrently to the producing thread while avoiding
memory leaks.
Signed-off-by: Romain Beauxis
---
libavdevice/avfoundation.m | 169 +
1 file changed, 76 insertions(+), 93
y specific pattern. I have used
one similar to the builtin microphone for screen capture
* The : substitution is actually required. The loopback device above did
have it in its name.
Signed-off-by: Romain Beauxis
---
doc/indevs.texi| 6 ++--
libavdevice/avfoundat
> On Dec 28, 2021, at 6:54 PM, Aman Karmani wrote:
>
>
>
> On Tue, Dec 28, 2021 at 2:50 PM Romain Beauxis wrote:
> This is the first patch of a series of 3 that fix, cleanup and enhance the
> avfoundation implementation for libavdevice.
>
> The patches have been
olbox/audio_converter_services
Signed-off-by: Romain Beauxis
—
This is the first patch of a series of 3 that fix, cleanup and enhance the
avfoundation implementation for libavdevice.
These patches come from an actual user-facing application relying on
libavdevice’s implementation of avfoundation
* Use a CMSimpleQueueEnqueue with maximum length to queue and process incoming
audio and video frames.
* Log avfoundation errors.
* Use AVERROR_EXTERNAL instead of AVERROR(EIO) in avfoundation errors.
Signed-off-by: Romain Beauxis
—
This is the second patch of a series of 3 that fix, cleanup
Signed-off-by: Romain Beauxis
—
This is the third patch of a series of 3 that cleanup and enhance the
avfoundation implementation for libavdevice.
Changes:
v2: None
v3:
* Switched unique ID to use system-prodvided unique ID
* Implemented unique IDs for screen capture
v4: Cleanup
v5: Fix
olbox/audio_converter_services
Signed-off-by: Romain Beauxis
—
[Sorry for the noise but an issue came up with the previous set]
This is the first patch of a series of 3 that fix, cleanup and enhance the
avfoundation implementation for libavdevice.
These patches come from an actual user-f
* Use a CMSimpleQueueEnqueue with maximum length to queue and process incoming
audio and video frames.
* Log avfoundation errors.
* Use AVERROR_EXTERNAL instead of AVERROR(EIO) in avfoundation errors.
Signed-off-by: Romain Beauxis
—
[Sorry for the noise but an issue came up with the previous
Signed-off-by: Romain Beauxis
—
[Sorry for the noise but an issue came up with the previous set]
This is the third patch of a series of 3 that fix, cleanup and enhance the
avfoundation implementation for libavdevice.
These patches come from an actual user-facing application relying on
olbox/audio_converter_services
Signed-off-by: Romain Beauxis
---
This is the first patch of a series of 3 that fix, cleanup and enhance the
avfoundation implementation for libavdevice.
These patches come from an actual user-facing application relying on
libavdevice’s implementation of avfoundation
* Use a CMSimpleQueueEnqueue with maximum length to queue and process incoming
audio and video frames.
* Log avfoundation errors.
* Use AVERROR_EXTERNAL instead of AVERROR(EIO) in avfoundation errors.
Signed-off-by: Romain Beauxis
---
This is the first patch of a series of 3 that fix, cleanup
Signed-off-by: Romain Beauxis
---
This is the third patch of a series of 3 that fix, cleanup and enhance the
avfoundation implementation for libavdevice.
These patches come from an actual user-facing application relying on
libavdevice’s implementation of avfoundation audio input. Without them
Le mer. 5 janv. 2022 à 08:50, Marvin Scholz a écrit :
>
> On 31 Dec 2021, at 18:43, Romain Beauxis wrote:
>
> > * Use a CMSimpleQueueEnqueue with maximum length to queue and process
> > incoming audio and video frames.
> > * Log avfoundation errors.
> > * Use AV
Le sam. 8 janv. 2022 à 10:30, Michael Niedermayer
a écrit :
>
> Hi all
>
> This is a simple go/no go call
> if you know of something that still should go into 5.0 please reply here
> with a list of what you are working on and a timelimit until when you
> will be done with it
>
> if you think every
Le ven. 14 janv. 2022 à 11:47, Thilo Borgmann a écrit :
>
> Am 14.01.22 um 13:57 schrieb Marvin Scholz:
> >
> >
> > On 6 Jan 2022, at 15:24, Romain Beauxis wrote:
> >
> >> * Implement support for AudioConverter
> >> * Switch to AudioConverter'
This is a follow-up from a previous series of patches that fix, enhance and
cleanup support for audio and video input on macos in libavdevice. Due to
some important recent refactoring and addition, version is reset.
Patches:
libavdevice/avfoundation.m: use setAudioSettings, extend supported form
is also the way AVFoundation audio input is setup in videolan.
--- Begin Message ---
From fd30f651bdaafe812b5cdc022ef3e4ebd74b6727 Mon Sep 17 00:00:00 2001
From: Romain Beauxis
Date: Mon, 29 Nov 2021 08:46:05 -0600
Subject: [PATCH] libavdevice/avfoundation.m: use setAudioSettings, extend
as configured when opening the input
device so as to not depend on the first video frame for it.
--- Begin Message ---
From d1a4c6e74ff589d9e59e1310a9afc9bc185382a1 Mon Sep 17 00:00:00 2001
From: Romain Beauxis
Date: Sun, 12 Dec 2021 17:29:27 -0600
Subject: [PATCH] libavdevice/avfoundation.m
bf72d48c846f5116866ec588fc0ee54a2c354e87 Mon Sep 17 00:00:00 2001
From: Romain Beauxis
Date: Mon, 13 Dec 2021 09:14:50 -0600
Subject: [PATCH] libavdevice/avfoundation.m: Allow to select devices by unique
ID
X-Unsent: 1
To: ffmpeg-devel@ffmpeg.org
Signed-off-by: Romain Beauxis
---
doc/indevs.texi| 6 ++--
libavdevice
This adds support for the non-deprecated methods for selecting devices, when
available.
--- Begin Message ---
From c42612b455289622edb638436b1892e43279d8ac Mon Sep 17 00:00:00 2001
From: Romain Beauxis
Date: Fri, 14 Jan 2022 10:06:08 -0600
Subject: [PATCH] Use appropriate method for device
* The AUHAL API seems tested, documented and robust
* This implementation hopefully gives good control over audio latency and also
minimizes data copy
--- Begin Message ---
From 803e1aa52018bdac0a448be255f645ca447273e9 Mon Sep 17 00:00:00 2001
From: Romain Beauxis
Date: Tue, 18 Jan 2022 16:29:59
This patch populates the third entry for HLS codec attribute using the
AAC profile.
The HLS specifications[1] require this digit to be the Object Type ID as
referred to in table 1.3 of ISO/IEC 14496-3:2009[2].
The numerical constants in the code refer to these OTIs minus one, as
documeted in comm
Hey there!
Le ven. 22 déc. 2023 à 09:09, Romain Beauxis a écrit :
>
> This patch populates the third entry for HLS codec attribute using the
> AAC profile.
>
> The HLS specifications[1] require this digit to be the Object Type ID as
> referred to in table 1.3 of ISO/IEC 14496-
Le jeu. 28 déc. 2023 à 17:26, David Johansen a écrit :
>>
>> I love this change, but it appears that st->codecpar->profile is always
>> AV_PROFILE_UNKNOWN when using libfdk_aac as the encoder. Any indications
>> where I should look for fix that so this can be used with that encoder?
>
>
> It app
This patch populates the third entry for HLS codec attribute using the
AAC profile.
The HLS specifications[1] require this value to be the Object Type ID as
referred to in table 1.3 of ISO/IEC 14496-3:2009[2].
The numerical constants in the code refer to these OTIs minus one, as
documented in com
Le sam. 30 déc. 2023 à 16:25, David Johansen a écrit :
>
> On Sat, Dec 30, 2023 at 8:23 AM Romain Beauxis wrote:
>>
>> Le jeu. 28 déc. 2023 à 17:26, David Johansen a
>> écrit :
>> >>
>> >> I love this change, but it appears that st->codecpa
Le jeu. 21 déc. 2023 à 13:17, Michael Niedermayer
a écrit :
>
> Hi all
>
> I will probably make a 6.1.1 release in maybe 1-3 weeks due to bug/fixes
> in it.
> if you want something in it, please backport it now!
https://ffmpeg.org/pipermail/ffmpeg-devel/2024-January/319173.html
could be a good ca
Le mer. 19 janv. 2022 à 08:31, Gyan Doshi a écrit :
> On 2022-01-19 07:53 pm, Romain Beauxis wrote:
> > This patch switches the logic around audio settings to let the caller drive
> > the format.
> >
> > After experimenting with the AudioConverter, we realized that, e
Le mer. 19 janv. 2022 à 09:19, Gyan Doshi a écrit :
> On 2022-01-19 08:44 pm, Romain Beauxis wrote:
> > Le mer. 19 janv. 2022 à 08:31, Gyan Doshi a écrit :
> >> On 2022-01-19 07:53 pm, Romain Beauxis wrote:
> >>> This patch switches the logic around audio settings
Le mer. 19 janv. 2022 à 09:45, Gyan Doshi a écrit :
> On 2022-01-19 08:51 pm, Romain Beauxis wrote:
> > Le mer. 19 janv. 2022 à 09:19, Gyan Doshi a écrit :
> >> On 2022-01-19 08:44 pm, Romain Beauxis wrote:
> >>> Le mer. 19 janv. 2022 à 08:31, Gyan Doshi a écrit :
Hi Marvin,
Le mer. 19 janv. 2022 à 10:59, Marvin Scholz a écrit :
> On 19 Jan 2022, at 15:42, Romain Beauxis wrote:
>
> Hi, thanks for the patch. I've not done a full code review yet, just a
> few
> initial remarks below:
>
> > This patch adds support for a new, audi
Le lun. 24 janv. 2022 à 10:19, Marvin Scholz a écrit :
>
>
>
> On 24 Jan 2022, at 16:42, Romain Beauxis wrote:
>
> > Hi Marvin,
> >
> > Le mer. 19 janv. 2022 à 10:59, Marvin Scholz a
> > écrit :
> >> On 19 Jan 2022, at 15:42, Romain Beauxis wro
Le mer. 19 janv. 2022 à 10:59, Marvin Scholz a écrit :
>
>
>
> On 19 Jan 2022, at 15:42, Romain Beauxis wrote:
>
> Hi, thanks for the patch. I've not done a full code review yet, just a
> few
> initial remarks below:
>
> > This patch adds support for a
Le sam. 29 janv. 2022 à 14:42, Andreas Rheinhardt
a écrit :
>
> Romain Beauxis:
> > Le mer. 19 janv. 2022 à 10:59, Marvin Scholz a écrit :
> >>
> >>
> >>
> >> On 19 Jan 2022, at 15:42, Romain Beauxis wrote:
> >>
> >> Hi, thanks fo
Le lun. 31 janv. 2022 à 04:11, Thilo Borgmann a
écrit :
>
> Hi,
>
> Am 30.01.22 um 18:30 schrieb to...@rastageeks.org:
> > From: Romain Beauxis
> >
> > This updates the code for avfoundation to use modern device lookup APIs
and also adds a check to avoid querying t
Le mar. 20 juin 2023 à 02:10, Paul B Mahol a écrit :
>
>
>
> On Tue, Jun 20, 2023 at 7:19 AM wrote:
>>
>> From: Romain Beauxis
>>
>> Before the introduction of AV_CODEC_ID_TIMED_ID3 for timed_id3 metadata
streams
>> in mpegts (commi
Le mer. 21 juin 2023 à 03:32, Anton Khirnov a écrit :
>
> Quoting to...@rastageeks.org (2023-06-20 07:09:33)
> > From: Romain Beauxis
> >
> > Before the introduction of AV_CODEC_ID_TIMED_ID3 for timed_id3 metadata
streams
> > in mpegts (commit 4a4437c0fb
Le sam. 24 juin 2023 à 05:51, Thilo Borgmann a
écrit :
>
> Am 24.06.23 um 12:43 schrieb Anton Khirnov:
> > Quoting Romain Beauxis (2023-06-22 16:19:36)
> >> commit ca0472eeebe478b7eb6e7d1dc4351037f8811728
> >> Author: Romain Beauxis
> >> Date: Thu Jun 22
Le dim. 14 mai 2023 à 16:40, a écrit :
>
> From: Romain Beauxis
>
> This is the third version on a series of patches improving ffmpeg support for
> ogg chained streams.
>
> Reproduction steps for the issue fixed with patch are included in this bug
> report: https://trac
/10363
-- Romain
Le dim. 14 mai 2023 à 16:42, a écrit :
> From: Romain Beauxis
>
> This is the third version of a series of patches improving metadata
> support in
> chained ogg streams.
>
> Previous versions of this patch were including changes that were later
> i
Le mar. 4 févr. 2025 à 06:15, Romain Beauxis
a écrit :
>
> This is a series of 3 patches to allow proper decoding of ogg metadata
> in chained ogg/flac streams.
>
> ogg/flac streams are pretty important because there are perhaps the only
> combination of lossless audio cod
libavformat/oggparseflac: Parse ogg/flac comments in new ogg packets,
add them to ogg stream new_metadata.
libavcodec/flacdec: Process AV_PKT_DATA_METADATA_UPDATE on new packets,
add them as new metadata on the new decoded audio frame.
---
libavcodec/flacdec.c | 20 +++-
l
decoded frames of subsequent streams?
* Generalize this approach to other chained ogg codec.
Thanks,
-- Romain
[1]: https://xiph.org/ogg/doc/framing.html
Romain Beauxis (2):
libavformat/oggparseflac: Parse ogg/flac comments in new ogg packets,
add them to ogg stream new_metadata.
Add
mode 100644
index 00..4ffdfe8213
--- /dev/null
+++ b/tests/api/api-dump-stream-meta-test.c
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2025 Romain Beauxis
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files
Le jeu. 30 janv. 2025 à 08:08, Romain Beauxis a
écrit :
>
>
>
>
> Le mer. 29 janv. 2025 à 17:40, Marvin Scholz a écrit
:
> >
> >
> >
> > On 29 Jan 2025, at 15:40, Romain Beauxis wrote:
> >
> > > This patch makes sure that ogg/flac header
utilities related to metadata are in fact located
in libavformat so perhaps this makes sense.
Follow-up work not addressed in this series of patch:
* Ensure valid PTS in decoded frames of subsequent streams?
* Generalize this approach to other chained ogg codec.
Thanks,
-- Romain
Romain Beauxis (3
mode 100644
index 00..4ffdfe8213
--- /dev/null
+++ b/tests/api/api-dump-stream-meta-test.c
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2025 Romain Beauxis
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files
Firt argument in these function is only used to pass to av_log. This
makes it possible to re-use them with any type of AVClass struct.
---
libavformat/oggdec.h | 5 -
libavformat/oggparsevorbis.c | 4 ++--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavformat/oggd
This is the main patch. Parse ogg comments in ogg packets with comment,
keep them in pending_metadata and copy them to the next decoded audio
frame.
---
libavcodec/flacdec.c | 12 +++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/libavcodec/flacdec.c b/libavcodec/flacdec.
Le mer. 5 févr. 2025 à 21:03, Michael Niedermayer
a écrit :
>
> On Tue, Feb 04, 2025 at 07:31:45AM -0500, Romain Beauxis wrote:
> > This is the new FATE test.
> >
> > Test samples are available here:
https://www.dropbox.com/scl/fo/fxt2edwkyj2mjc9qubku5/AICHx
Same test as for ogg/opus.
Samples and output for both tests are available here:
https://www.dropbox.com/scl/fo/xrtrna2rxr1j354hrtymq/AGwemlxHYecBLNmQ8Fsy--4?rlkey=lzilr4m9w4gfdqygoe172vvy8&dl=0
In this case, the secondary chained ogg/flac header packets are already visible
before the changes.
)
diff --git a/tests/api/api-dump-stream-meta-test.c
b/tests/api/api-dump-stream-meta-test.c
new file mode 100644
index 00..4ffdfe8213
--- /dev/null
+++ b/tests/api/api-dump-stream-meta-test.c
@@ -0,0 +1,169 @@
+/*
+ * Copyright (c) 2025 Romain Beauxis
+ *
+ * Permission is hereby granted
These changes parse ogg/opus comment in secondary chained ogg/opus
streams and attach them as extradata to the corresponding packet.
They can then be decoded in the opus decoder and attached to the next
decoded frame.
libavformat/oggparseopus.c: Parse comments from
secondary chained ogg/opus str
This the same changes as done with ogg/opus: parse comments in secondary
chained ogg/flac streams, attach them as packed extradata, decode and
attach them to the next decoded stream in the flac decoder.
libavformat/oggparseflac.c: Parse ogg/flac comments in
new ogg packets, add them to ogg stream
These changes make it possible to access the initial header packets of
secondary chained ogg/opus bitstreams.
libavformat/oggparseopus.c: Parse extradata from
secondary chained streams header packet.
libavformat/oggdec.c: Do not force ogg stream header parsing on
secondary ogg/opus chained strea
This adds the test to confirm that secondary chained ogg/opus streams
are properly decoded.
Using the test output, we can confirm that secondary stream header
packets are properly passed down and that the new metadata are properly
parsed.
Output before the changes:
Stream ID: 0, codec name: opus,
://xiph.org/ogg/doc/framing.html
Romain Beauxis (6):
libavformat/oggparseopus.c: Parse extradata from secondary chained
streams header packet.
tests: Add stream dump test API util.
libavformat/oggparseopus.c: Parse comments from secondary chained
ogg/opus streams and pass them as ogg stream
Le mar. 28 janv. 2025 à 00:25, Michael Niedermayer
a écrit :
>
> On Fri, Jan 24, 2025 at 07:40:40PM -0600, Romain Beauxis wrote:
> > Hi all!
> >
> > Le sam. 18 janv. 2025 à 11:54, Romain Beauxis
> > a écrit :
> > >
> > > This patch makes
1 - 100 of 313 matches
Mail list logo