diff mbox series

[FFmpeg-devel,2/2] Set stream_id correctly based on KLV profile selected.

Message ID 20200527003209.8626-3-bradh@frogmouth.net
State Superseded
Headers show
Series Allow SYNC / ASYNC metadata streams (MISB ST1402) | expand

Checks

Context Check Description
andriy/default pending
andriy/make success Make finished
andriy/make_fate success Make fate finished

Commit Message

Brad Hards May 27, 2020, 12:32 a.m. UTC
Previously we always set STREAM_TYPE_PRIVATE_DATA, and that remains
the default value.
---
 libavformat/mpegtsenc.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Marton Balint May 27, 2020, 6:57 a.m. UTC | #1
On Wed, 27 May 2020, Brad Hards wrote:

> Previously we always set STREAM_TYPE_PRIVATE_DATA, and that remains
> the default value.
> ---
> libavformat/mpegtsenc.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
> index bf1a7ee13f..a7703ab120 100644
> --- a/libavformat/mpegtsenc.c
> +++ b/libavformat/mpegtsenc.c
> @@ -353,6 +353,12 @@ static int get_dvb_stream_type(AVFormatContext *s, AVStream *st)
>     case AV_CODEC_ID_DVB_TELETEXT:
>         stream_type = STREAM_TYPE_PRIVATE_DATA;
>         break;
> +    case AV_CODEC_ID_SMPTE_KLV:
> +        if ( st->codecpar->profile == FF_PROFILE_KLVA_SYNC ) {

Unneeded whitespace inside the parenthesis.

> +            stream_type = STREAM_TYPE_METADATA;
> +        } else {
> +            stream_type = STREAM_TYPE_PRIVATE_DATA;
> +        }

I think a break is missing here, you don't want to warn if the stream 
stream type is not private data or if you knowingly use private data 
because that is what is supposed to be used.

Regards,
Marton

>     default:
>         av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning,
>                     "Stream %d, codec %s, is muxed as a private data stream "
> -- 
> 2.17.1
>
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel@ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
> To unsubscribe, visit link above, or email
> ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
Brad Hards May 30, 2020, 11:31 p.m. UTC | #2
I think I fixed these issues in V2
http://ffmpeg.org/pipermail/ffmpeg-devel/2020-May/263332.html
and
http://ffmpeg.org/pipermail/ffmpeg-devel/2020-May/263333.html

Is anything more required? 
[Context: this is my first patch set to ffmpeg, and I'm still trying to understand the conventions]

Brad
Marton Balint May 31, 2020, 5:06 p.m. UTC | #3
On Sun, 31 May 2020, Brad Hards wrote:

> I think I fixed these issues in V2
> http://ffmpeg.org/pipermail/ffmpeg-devel/2020-May/263332.html
> and
> http://ffmpeg.org/pipermail/ffmpeg-devel/2020-May/263333.html
>
> Is anything more required?

No, I will apply your patches soon.

Thanks,
Marton
diff mbox series

Patch

diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c
index bf1a7ee13f..a7703ab120 100644
--- a/libavformat/mpegtsenc.c
+++ b/libavformat/mpegtsenc.c
@@ -353,6 +353,12 @@  static int get_dvb_stream_type(AVFormatContext *s, AVStream *st)
     case AV_CODEC_ID_DVB_TELETEXT:
         stream_type = STREAM_TYPE_PRIVATE_DATA;
         break;
+    case AV_CODEC_ID_SMPTE_KLV:
+        if ( st->codecpar->profile == FF_PROFILE_KLVA_SYNC ) {
+            stream_type = STREAM_TYPE_METADATA;
+        } else {
+            stream_type = STREAM_TYPE_PRIVATE_DATA;
+        }
     default:
         av_log_once(s, AV_LOG_WARNING, AV_LOG_DEBUG, &ts_st->data_st_warning,
                     "Stream %d, codec %s, is muxed as a private data stream "