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@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.pil...@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@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@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.

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to