[FFmpeg-devel] [PATCH] avcodec/avformat: Added codec_name to AVCodecContext and AVCodecParameters
Bernardo Pilarz
bernardo.pilarz at aitek.it
Wed Jul 3 11:10:15 EEST 2024
On 03/07/2024 10:02, Hendrik Leppkes wrote:
> On Wed, Jul 3, 2024 at 9:48 AM Bernardo Pilarz via ffmpeg-devel
> <ffmpeg-devel at ffmpeg.org> wrote:
>> Added the codec_name field, in which the unprocessed, not-interpreted codec
>> name is stored.
>> This is useful when codecs that are not handled by the libav
>> (i.e. AV_CODEC_ID_NONE) are encountered, since the application might still
>> want to handle them.
>> Having this field allows the application to determine the codec type.
>>
>> As of this commit, the codec_name field is only filled when opening an RTSP
>> stream, during the parsing of the SDP.
>>
>> Signed-off-by: bpilarz <bernardo.pilarz at aitek.it>
>> ---
>> libavcodec/avcodec.h | 10 ++++++++++
>> libavcodec/codec_par.c | 19 +++++++++++++++++++
>> libavcodec/codec_par.h | 10 ++++++++++
>> libavcodec/options.c | 1 +
>> libavformat/rtsp.c | 5 +++++
>> 5 files changed, 45 insertions(+)
>>
>> diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
>> index 2da63c87ea..464b4078fc 100644
>> --- a/libavcodec/avcodec.h
>> +++ b/libavcodec/avcodec.h
>> @@ -451,6 +451,16 @@ typedef struct AVCodecContext {
>> int log_level_offset;
>>
>> enum AVMediaType codec_type; /* see AVMEDIA_TYPE_xxx */
>> + /**
>> + * Generic codec name of the encoded data.
>> + *
>> + * Null-terminated string, can be NULL.
>> + * Contents may vary depending on the source of the data stream.
>> + * This is typically the string that's interpreted to determine
>> 'codec_id'.
>> + * Must be allocated with av_malloc() or av_strdup() and will be
>> freed by
>> + * avcodec_free_context().
>> + */
>> + char *codec_name;
>> const struct AVCodec *codec;
>> enum AVCodecID codec_id; /* see AV_CODEC_ID_xxx */
>>
> Adding a new field here is an ABI break, it would need to go at the
> end of the struct.
>
> In general, I feel like this might be better served to go into
> metadata though, especially as very few containers have a string codec
> identifier to begin with.
>
> - Hendrik
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>
I would be very glad to do it the right way, but I need some guidance
since this is the first time I try to contribute to FFmpeg.
The problem that I am trying to solve is receiving metadata from an RTSP
stream (in example, ONVIF metadata identified by the codec name
'vcd.onvif.metadata').
This is data that the application will want to handle on its own (and
not through FFmpeg).
Can you guide me on how to do this properly?
Thanks,
Bernardo
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
More information about the ffmpeg-devel
mailing list