[FFmpeg-devel] [PATCH 10/35] fftools: provide media type info for devices

Nicolas George george at nsup.org
Wed Jun 9 14:15:27 EEST 2021


Diederick C. Niehorster (12021-06-08):
> Done. Only problem is that now a device of mine that should be called
> "Microphone Array (Intel® Smart Sound Technology (Intel® SST))" is
> instead printed as "Intel® Smart Sound Technology (Intel® SST)".
> Since devices are selected by name for some avdevices (dshow), thats
> an issue.
> 
> Googling tells me that printing UTF-8 (which is whats returned by
> dshow's get_device_list) with printf is complicated to say the least
> on Windows. It all works when logging because log.c has implemented
> win_console_puts(), which looks like it would be easy to make
> available more broadly.
> 
> Do you see a solution that would allow printing the device name correctly?

What matters is not what you see in the console but what data is really
written on the stream. Programs that read from the ffmpeg process and
use the output to build a command line, all in a binary-clean way,
should succeed.

You can test with Perl (you can probably achieve the same with any
language, but I know Perl, and I know it will not automagically mess
things up):

my $out = `ffmpeg -devices`;
my $dev = $out =~ /(Microphone.*)/;
print "Using \"$dev\"\n";
system "ffmpeg", "-f", "dshow", "-i", $dev;

If the “Using "..."” message is mangled but the command line succeeds,
then the issue is not ffmpeg's problem.

Another test you can run: take a Matroska file with accents in the
metadata, make sure it standard-compliant, and see what ffprobe
-show_stream prints about it.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20210609/3f99954b/attachment.sig>


More information about the ffmpeg-devel mailing list