[FFmpeg-devel] [PATCH] doc/examples/muxing: make compatible with C++

anshul anshul.ffmpeg at gmail.com
Tue Mar 18 13:34:07 CET 2014


On 03/18/2014 04:57 PM, Clément Bœsch wrote:
> On Tue, Mar 18, 2014 at 04:12:49PM +0530, anshul wrote:
>> On 03/18/2014 12:28 AM, Stefano Sabatini wrote:
>>> On date Friday 2014-03-14 17:15:23 +0100, Michael Niedermayer encoded:
>>>> On Fri, Mar 14, 2014 at 10:17:16AM +0100, Stefano Sabatini wrote:
>>>>> On date Thursday 2014-03-13 23:10:40 +0100, Clément Bœsch encoded:
>>>>>> On Thu, Mar 13, 2014 at 06:03:49PM +0100, Michael Niedermayer wrote:
>>>>> [...]
>>>>>> I don't think supporting examples compilation with g++ is worth the
>>>>>> effort. Actually, I believe it's harmful because people doing C will start
>>>>>> copying naive/broken/c++ patterns (are you going to cast malloc() return
>>>>>> values too?).
>>>>> +1, we decided FFmpeg was C and we shouldn't try to make half-baked
>>>>> attempts at pretending it is C++ or the next looks-almost-like-c
>>>>> thing.
>>>> this patch doesnt change ffmpeg, it changes the examples.
>>>>
>>>> People who want to use ffmpeg from C++ need examples which work in
>>>> C++.
>>>> ive written that patch in response to a question of how to do what
>>>> muxing.c does from C++ as it didnt build even with extern C and the
>>>> error messages truly where not helpfull in figuring out what was
>>>> the cause.
>>> We have this page:
>>> http://trac.ffmpeg.org/wiki/Including%20FFmpeg%20headers%20in%20a%20C%2B%2B%20application
>>>
>>> We could extend the page, probably rename it, add more comments about
>>> using FFmpeg from C++ and link it from the README (which we should
>>> rename DONTREADME so people would actually read it).
>>>
>>> As it is the patch is half baked, because:
>>>
>>> 1. it is not written anywhere that examples can be directly converted
>>> to C++ code
>>> 2. the preprocessor hack is only adopted in muxing.c, ignoring all the
>>> other C examples.
>> Hi
>>
>> Here is patch attached for cpp examples files.
>>
>> Please report if they fail to compile or do there intended job.
>>
>>
>> Thanks
>> Anshul
>>  From 6adc8aaf4da5bb829505f398c0c7d2be8e22081d Mon Sep 17 00:00:00 2001
>> From: Anshul Maheshwari <er.anshul.maheshwari at gmail.com>
>> Date: Tue, 18 Mar 2014 16:07:20 +0530
>> Subject: [PATCH] added examples in cpp
>>
>> ---
>>   doc/examples_cpp/Makefile              |  44 ++
>>   doc/examples_cpp/avcodec.cpp           | 659 ++++++++++++++++++++++++++++
>>   doc/examples_cpp/avio_reading.cpp      | 134 ++++++
>>   doc/examples_cpp/demuxing_decoding.cpp | 387 +++++++++++++++++
>>   doc/examples_cpp/filter_audio.cpp      | 364 ++++++++++++++++
>>   doc/examples_cpp/filtering_audio.cpp   | 283 +++++++++++++
>>   doc/examples_cpp/filtering_video.cpp   | 263 ++++++++++++
>>   doc/examples_cpp/metadata.cpp          |  58 +++
>>   doc/examples_cpp/muxing.cpp            | 614 +++++++++++++++++++++++++++
>>   doc/examples_cpp/remuxing.cpp          | 173 ++++++++
>>   doc/examples_cpp/resampling_audio.cpp  | 218 ++++++++++
>>   doc/examples_cpp/scaling_video.cpp     | 143 +++++++
>>   doc/examples_cpp/transcode_aac.cpp     | 754 +++++++++++++++++++++++++++++++++
>>   doc/examples_cpp/transcoding.cpp       | 602 ++++++++++++++++++++++++++
>>   14 files changed, 4696 insertions(+)
>>   create mode 100644 doc/examples_cpp/Makefile
>>   create mode 100644 doc/examples_cpp/avcodec.cpp
>>   create mode 100644 doc/examples_cpp/avio_reading.cpp
>>   create mode 100644 doc/examples_cpp/demuxing_decoding.cpp
>>   create mode 100644 doc/examples_cpp/filter_audio.cpp
>>   create mode 100644 doc/examples_cpp/filtering_audio.cpp
>>   create mode 100644 doc/examples_cpp/filtering_video.cpp
>>   create mode 100644 doc/examples_cpp/metadata.cpp
>>   create mode 100644 doc/examples_cpp/muxing.cpp
>>   create mode 100644 doc/examples_cpp/remuxing.cpp
>>   create mode 100644 doc/examples_cpp/resampling_audio.cpp
>>   create mode 100644 doc/examples_cpp/scaling_video.cpp
>>   create mode 100644 doc/examples_cpp/transcode_aac.cpp
>>   create mode 100644 doc/examples_cpp/transcoding.cpp
>>
> This lacks the integration with our build system. It sounds like this is
> going to be a hell to maintain...
Working on integration with our build system.
I would maintain them but review would be an extra burden added.
so till we don't have space issue I think its better to give the example 
in most possible language.

Thanks
Anshul



More information about the ffmpeg-devel mailing list