affected by this
> vulnerability ? And when is it expected to get fix for this
> vulnerability in ffmpeg ?
FFmpeg might be affected if it is linked with an affected version of the
library, and is not affected if it is not.
Regards,
--
Nicolas George
___
Denis Gottardello (12023-08-30):
> I'm in c++17 environment
C++ cannot use av_err2str().
Regards,
--
Nicolas George
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link ab
frame_free();
> break;
> }
>
> I skipped the processing and just call av_frame_free on the processing
> side. The queue for this purpose is a size of 4. Errors in linux
> differs from those experienced on Windows
Try copying the frame before adding it t
y the frame at
least once.
Or maybe you had a memory leak and you have not noticed in with software
frames because your memory is huge.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user
st come in from crashlytics.
A SIGABRT is usually the result of an assert failure. That means you
should have all you need to know what happens in the log output.
If not, attach the binary in a debugger and request a stack trace when
you get the signal.
Reg
Denis Ivanov (12022-11-05):
> I have old version of the app, with the same ffmpeg version, same code
> running and there is no issue. Really strange. What could be the issue of
> that?
Start with converting the error code to an error message.
--
Nicolas George
signature.asc
Descrip
rohit khali (12022-10-28):
> Just adding one more point here. I think we should get rid of the below
> documentation at https://ffmpeg.org/doxygen/0.9/libavcodec_2avcodec_8h.html
Can you guess what the "0.9" in the URL means?
--
t I would hazard they are the
ramblings of idiots who do not understand the difference between
standardizing the semantic of a bitstream (“these bits decode into the
left and right channels, these bits decode into LFE”) and specifying the
API of a decoding library.
--
Nicolas George
sign
t; does not
contain a specific order, the channels are encoded together, as, IIRC, I
already explained to you.
If you need your channels in a specific order for your application, then
you have to reorder them yourself from the order chosen by libavcodec.
-
mt=0 will probably not work.
atrim gets from [in1], i.e. buffer, while in the other version atrim is
connected to [0:a], i.e. a abuffer.
You have several pads that are connected multiple times.
Regards,
--
Nicolas George
___
Libav-user mailing list
nderstanding sws_flags as a filter, not an option. You
made a mistake with the delimiter, commas separate filters, colons
separate options.
Regards,
--
Nicolas George
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinf
tool to see if multithreading is indeed
> >used.
> Please explain what it is about?
ffmpeg -i some_file_with_mjpeg -f null -
and at the same time:
top
and see how much CPU it uses. If it is >>100%, then multithreading is
used. If not, then it probably is not possible easily.
Reg
one input and one output), but it can take care of more issues at
once.
> But why how to set threads for mjpeg codec context!?
I do not know if it supports it. Try setting the threads options on it
too.
Also try to use the command-line tool to see if multithreading is indeed
used.
Regards,
-
h includes sws_init_context(), and then
you set the threads options. Therefore, I suspect you need to set the
threads options before sws_init_context() is called.
> >Have you tried setting "threads" option to the sws_scale context? And to
> >the codec context?
Please
what is the best way to create multithreading for
> decoding?
Have you tried setting "threads" option to the sws_scale context? And to
the codec context?
See:
https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/HEAD:/libavfilter/vf_scale.c#l546
Regards,
--
Nicolas George
acket)
What codec are you using, and what settings did you choose, for both the
encoder and decoder?
Please remember that top-posting is forbidden on this list; if you do
not know what it means look it up. You are unlikely to receive useful
answers if you do not conform.
Regards,
--
anything
related to termbits.h.
Would you be able to track down how this file gets included from
aaccoder.c?
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.or
avcodec.
>
> I unconditionally undef'ed it in 3 files (see attached patch), against
> ffmpeg.git
>
> Not sure if this is correct way, or I need to ping termux devs about this
> ...
Can you show your exact configure line, the end of its output and the
beginning and end of the make
nsiders to be the side-left channel, but being sure
is your responsibility. And if you are unsure, experimenting is your
best option.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
ted by FFmpeg. What you do with them then is
your task. Note that when the decoder produces planar output, the
reordering is computationally tiny.
Regards,
--
Nicolas George
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/li
ion
> on the fly is a bad case?
It is for when you create the filter graph, if you want to create it
programatically rather than writing a graph description.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailin
filter graph and
feed manually from/to other filter graphs. This last solution is tricky
if you have more than one input and output.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.o
it is done with the data, there is no
connection to a later decoder. Therefore any transmitted data needs to
be in the output file.
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/ma
not, reordered_opaque is carried through a decoder or an
encoder but not through the bitstream.
> On Tue, Feb 15, 2022, 5:53 AM Nicolas George
> wrote:
Top-posting is forbidden on this list. If you do not know what it means,
look it up.
--
FFmpeg. You will need one that meets your other constraints, which you
have not stated.
Then you must make sure FFmpeg supports the per-frame data for this
container or codec.
You gave very little information on what you want to achieve. Odds are
you do not really need this at all.
Regards,
-
in order to use the
functions that return strings is.
Therefore, I would appreciate if you, as API users, were to weigh in in
the discussion, either by replying to the thread on -devel or by
replying here.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
Colossus (12021-08-16):
> I told you I did and avcodec_send_frame() is the one that throws that error.
I will trust the code I see. Re-post your code once you have fixed the
order of the function calls and checked all the return values properly,
if it still does not work.
--
Nicolas Geo
ingle call to
img_export_encode_av_frame() shows you probably assume one input frame
will give you one output packet. This is not true.
Start with checking the return value of all your function calls, and you
will see where the flaw is.
Look at doc/examples/encode_video.c to see how it does it an
Hi.
Is somebody here using the "proto,,option...,,:" feature? I am
considering removing it.
If you do not know what I mean, do not bother, it means you do not.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
nio
>
> wrote:
Please remember that top-posting is forbidden on FFmpeg mailing-lists.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailma
Paul B Mahol (12021-07-18):
> > > > I do not think that sws_scale requires OS-specific optimizations.
^^^
> Irrelevant.
Once again, your desire to foil me has wasted both of our times.
End of discussion from me. Have the last word.
Paul B Mahol (12021-07-18):
> > I do not think that sws_scale requires OS-specific optimizations.
> This is not correct at all. libswscale have some neon assembly. Dunno how
> user compiles libraries, or maybe neon asm is very old.
Neon is not an operating system.
--
Ni
8 ms.
>
> I guess sws_scale is not optimised for iOS. How is people doing it on iOS
> then?
I do not think that sws_scale requires OS-specific optimizations.
What are the CPUs of your desktop and mobile devices?
Regards,
--
Nicolas George
signature.asc
ting file will not be invalid
Are you suggesting that remuxing the packets could cause the file to be
invalid?
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above, or email
libav-user-requ...@ffmpeg.org wit
he PIDs of each TV and radio service in real time?
A much better solution would be for you to describe exactly what you
want to do (I am personally not versed in MPEG-TS enough), what you
tried with the public API and how you think it is not sufficient.
Regards,
--
Nicolas George
sign
Hassan (12021-03-28):
> Without setpts, I get time in seconds not milliseconds. What is the
> solution?
Read the documentation about the pts field, and about time bases.
Regards,
--
Nicolas George
signature.asc
Description: PGP sig
='
You had the correct timestamp, until you destroyed it with setpts.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubs
ns-at-runtime-with-a-command
https://ffmpeg.org/ffmpeg-filters.html#Timeline-editing
Regards,
--
Nicolas George
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above, or email
libav-user-requ...@ffmpeg.org with subject "unsubscribe".
-December/274171.html
- Event loop
https://ffmpeg.org/pipermail/ffmpeg-devel/2020-December/274172.html
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman
mized to work with lossy
network protocols like UDP.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above,
B-frames, which is stupid (yet
another industrial decision) but makes it very difficult to handle
without a significant part of decoding.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@f
packet."
Please be more accurate when pointing a snippet of documentation.
I cannot help you more because I have no idea what you are trying to
achieve. You did not even tell if you were decoding, encoding or
something else.
Regards,
--
Nicolas George
signature.asc
Desc
uot;AV_PKT_DATA_A53_CC found \n");
> }
> At the same time, av_frame_get_side_data(frame, AV_FRAME_DATA_A53_CC) works
> fine.
>
> Any idea, what am I missing in above code?
The side data is not present in the packet, the closed captions are
encoded in the bitstre
t checked, and it is actually the expected behavior: the
output of av_get_channel_layout_string() is not meant to be used as
input later. The recommended way to encode a channel layout is to print
it as an integer. This is not very good design, but that is what we
have.
Regards,
--
Nicolas Georg
u can just print the channel
layout as an integer.
I forgot to add:
If you need to change the order of the channels afterwards, the filter
pan is there for that.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-
ied
channel layout.
It may happen that a latter filter will slap a channel layout on the
result. That channel layout would be random and irrelevant.
Hope this helped.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-use
the
encapsulation format. The data in AVCodecContext comes after decoding
the actual payload.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/li
he role of the format/protocol.
Please do not reply in person, reply on the mailing list.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo
uxed as side data anyway.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
To unsubscribe, visit link above, or email
libav
>
> Sent: Wednesday, April 1, 2020 7:02 PM
> To: This list is about using libavcodec, libavformat, libavutil, libavdevice
> and libavfilter.
> Subject: Re: [Libav-user] force_key_frames
If you want help here, find out what top-posting means and don't do it.
Regards,
--
Nicola
serialize it but I worry this will impact performance.
It seems to me you are trying to run before you can walk. This question
has nothing to do with FFmpeg and all to do with basic programming.
Regards,
--
Nicolas George
signature.asc
Description: PGP
Philippe Noël (12019-12-08):
> Here's a code snippet to illustrate:
>
> [image: Screen Shot 2019-12-08 at 16.35.26.png]
1. Don't send screenshots of text, copy-paste the text. This should be
obvious already.
2. AVPacket.data is not a string.
Regards,
--
Nicolas George
sign
myself find it inconvenient, and I would like to
propose something better.
Regards,
--
Nicolas George
signature.asc
Description: PGP signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/libav-user
Vasiliy Volkov (2018-11-07):
> And libavcodec/mpegaudiodecheader.h just not selected here.
That is normal. What you need to use parsers is in avcodec.h.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-u
at you are actually trying to achieve in the
end. Your attempts at re-creating an encoded file do not seem like a
final objective but like a misguided solution for it.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Liba
, Anton Shekhovtsov
> <shekh.anton-re5jqeeqqe8avxtiumw...@public.gmane.org>
> wrote:
Please remember that top-posting is forbidden on this list. If you do
not know what it means, look it up.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Vittalprasad (2018-03-06):
> please let me know how to link this static libraries.
Use pkg-config.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mail
since then. It could
be reimplemented as a trivial stub now. In fact, I have a project to
merge all the (a)setsomething filters into a single pair of (a)set
filters.
The function to make use of that from applications is
av_buffersink_set_frame_size().
Regards,
--
Nicolas George
signature.asc
Descr
ocal/cuda/lib64
>
> I can see that in this case non-free code will be enabled. Will
> building FFmpeg in this way mean that GPLv2 now applies?
It means that you are not allowed to distribute the resulting binary.
Both NVidia and FFmpeg are responsible for it. I leave you to judge
which
Please do not top-post on these mailing-lists. If you do not know what
it means look it up.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
mane.org>:
Please do not top-post on these mailing-lists. If you do not know what
it means, look it up.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
Le nonidi 29 messidor, an CCXXV, Advika a écrit :
> But in our scenario we need to separately draw the subtitle on graphics
> plane .
You just have to burn the subtitle on a blank video.
Regards,
--
Nicolas George
signature.asc
Description: Digital sig
Le sextidi 26 floréal, an CCXXV, YIRAN LI a écrit :
> It's okay for me to add silence to makeup the decode failure but how can I
> know how many silent samples to insert?
If your frames come from a decent format, then the packets have a
timestamp.
Regards,
--
Nicolas
ltp
A quick glance at ao.h does not show any way of specifying float
samples, so I guess it is not supported.
You need to convert. It can be done with libswresample, possibly wrapped
within libavfilter to perform several treatments at the same time.
Regards,
--
Nicolas George
signature.asc
nderstood the question.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
ng-list. Adding ffmpeg-user
as recipient, please reply only there.
Regards,
--
Nicolas George
> Full command line:
>
>
> ffmpeg -f concat -i mylist.txt -c copy op.mp4 -y
> ffmpeg version N-82760-g55affd9 Copyright (c) 2000-2016 the FFmpeg
> developers
mit ced0d6c14d1ad717d09f6777fcf424586ca6f036
Author: Carl Eugen Hoyos <ceho...@ag.or.at>
Date: 2014-04-24 18:01:30 +0200
Use correct msvc type specifiers for ptrdiff_t and size_t.
The Windows runtime aborts if it finds %t or %z.
Fixes ticket #3472.
Regards,
--
Nicol
hs ago.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
> Without a demuxer how to you get stream data into the muxer?
From the encoder, as I already hinted in my first mail and explained in the
second. Did you even read it?
> On 08/23/2016 09:47 AM, Nicolas George wrote:
Remember top-posting is forbidden on this list; if you do not know what it
me
ke h264_nvenc happy
> 6) avcodec_parameters_to_context( av_encode_codec_ctx, parameters )
You are still overwriting the parameters of the encoder. It can not work.
The parameters are used for communication from demuxers to decoders and from
encoders to muxers. They are output from the decoders an
sing side of the issue would be either to
document that the FFmpeg libraries cannot be used with LC_NUMERIC set to
anything else than C/POSIX (and possibly add a check at init time) or change
the code to use an unlocalized version of strtod().
I am rather in favour of the first solution, as a
c copy -map 0:v:0
> -map 1:a:0 -shortest out.mp4
>
> I can not find how to achieve this same thing by making API calls.
The API calls allow to read inputs and write outputs. Anything in between is
the responsibility of your application.
Regards,
--
Nicolas George
signature.
ncoder does not do frame threading, it would not trigger the issue.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
ready uses them all
completely. Running several instance in parallel will only add
context-switching overhead.
Please remember that top-posting is not accepted on this list; if you do not
know what it means look it up.
Regards,
--
Nicolas George
signature.asc
ry the
demuxers with av_find_input_format().
Regards,
--
Nicolas George
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
Le quintidi 5 prairial, an CCXXIV, qw a écrit :
> ffmpeg supports filter graph. Does filter graph support multi-thread? or
> it can only be called in single thread, and I must make multi-thread
> program based on filter graph functions in ffmpeg?
Your question is unclear. One filter graph must be
xt in width and height?
I have already answered that question.
> At 2016-04-26 17:20:13, "Nicolas George" <geo...@nsup.org> wrote:
Do not top-post on this list; if you do not know what it means, look it up.
Regards,
--
Nicolas Geo
renthesis and the bottom of a p or q.
For the width, it depends completely, because not all glyphs have the same
width, and you need to take kerning into account too.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-use
bably need to explicitly insert silence at the places
you want it.
As for the video, it should work as is, but you have to be sure the format
you chose is capable of doing variable frame rate.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
_
u can set the requested sample rate for the buffersink too, using
av_opt_set_int_list(), see examples/filtering_audio.c.
> That looks great!
> But does using filters add any performance impact?
Yes, of course, but negligible compared to the actual work done.
Regards,
--
Nicolas George
coded as the difference from the previous
one. Or ones, or even next ones with B-frames.
That means the decoder needs frame N in order to decode frame N+1. If you
were to apply changes to frame N, they would change frame N+1 too, in an
unpredictable way.
Regards,
--
Nicolas George
signature.asc
Descr
pkg-config=pkg-config" in your configure line, what did
you expect?
http://ffmpeg.org/faq.html#How-do-I-use-pkg_002dconfig-when-cross_002dcompiling_003f
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mail
of avcodec_decode_audio4(), remove that many
bytes from the beginning of the packet, and re-call avcodec_decode_audio4()
until all the packet have been consumed.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
the decode function once
too many. I am surprised it works, I would have imagined that it would
decode every even packet twice and skip every odd packet. Have you tested
the actual decoded data?
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
to all that Libre Software stands for.
To make it clear that re-distribution of modified copies is done under the
responsibility of the person doing it, a standard disclaimer should be
enough.
Regards,
--
Nicolas George
___
Libav-user mailing list
Le quartidi 24 floréal, an CCXXIII, Carl Eugen Hoyos a écrit :
Which means that A/V sync is impossible to keep, or
do I miss something?
Why do you think that? Whether the captures happen in separate threads or
not, A-V sync is made difficult by the latency in each part of the system,
,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
see a
whole bunch related to different I/O errors, though.
FFmpeg uses the system error codes whenever possible. And you do not know it
is a I/O-related error in the first place.
On Fri, Feb 13, 2015 at 10:26 AM, Nicolas George
george-ls1+kw1i...@public.gmane.org wrote:
Please do not top-post
with the error code?
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
want to work with frame numbers? Frame numbers are
unreliable, they are a remnant of the time where containers could only do
constant FPS.
The correct way of identifying a frame is not its number, it is its
timestamp.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
a bug
somewhere else in the application.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
you need to trim down your code to the bare minimum exhibiting the
behaviour you do not understand, and probably translate it in a language
that people are fluent with.
Regards,
--
Nicolas George
___
Libav-user mailing list
Libav-user@ffmpeg.org
http
,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/libav-user
, consider using the decimate filter, which is
specifically designed for that task, with optimizations.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman
given up on them. The ones that are so
stupid that, in a mail with two short sentences, they manage to read only
one (one example exactly like that just this morning). We should all be
grateful for his efforts, not nag him because he does not offer servility on
top of free help.
Regards,
--
Nicolas
together, and something to do the mixing. I would suggest to use
amerge + pan rather than amix.
Really no hints?
Can you expect hints before your message actually appears on the list?
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
the write_header() phase. Therefore, to keep
your program generic, you need to rescale anyway.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav-user mailing list
Libav-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo
.
Second, and that applies both for packets just encoded and packets copied
from the input as is: you need to rescale the packet's PTS and DTS to the
stream's time base.
Regards,
--
Nicolas George
signature.asc
Description: Digital signature
___
Libav
Le sextidi 16 frimaire, an CCXXII, Bruce Wheaton a écrit :
Nonetheless, a frame's ref count is a variable, not a function.
It is a structure member that should not be modified directly but only
through the reference counting API.
Regards,
--
Nicolas George
signature.asc
Description
1 - 100 of 164 matches
Mail list logo