On 2012-10-29 13:16:20 +0100, Luca Barbato wrote:
> Plain text (utf8 encoded) data can be muxed and demuxed in nut.
> ---
> 
> Now with a section for data in the documentation as well.
> 
>  doc/nut.texi         | 6 ++++++
>  libavformat/nut.c    | 7 ++++++-
>  libavformat/nut.h    | 1 +
>  libavformat/nutdec.c | 1 +
>  4 files changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/doc/nut.texi b/doc/nut.texi
> index 1c23934..9b84241 100644
> --- a/doc/nut.texi
> +++ b/doc/nut.texi
> @@ -66,6 +66,12 @@ PFD[32]   would for example be signed 32 bit little-endian 
> IEEE float
>  @item DVBS   @tab DVB subtitles
>  @end multitable
>  
> +@section Raw Data
> +
> +@multitable @columnfractions .4 .4
> +@item UTF8   @tab Raw UTF-8
> +@end multitable
> +
>  @section Codecs
>  
>  @multitable @columnfractions .4 .4
> diff --git a/libavformat/nut.c b/libavformat/nut.c
> index e367d1c..85b126b 100644
> --- a/libavformat/nut.c
> +++ b/libavformat/nut.c
> @@ -33,6 +33,11 @@ const AVCodecTag ff_nut_subtitle_tags[] = {
>      { AV_CODEC_ID_NONE        , 0                         }
>  };
>  
> +const AVCodecTag ff_nut_data_tags[] = {
> +    { AV_CODEC_ID_TEXT        , MKTAG('U', 'T', 'F', '8') },
> +    { AV_CODEC_ID_NONE        , 0                         }
> +};
> +
>  const AVCodecTag ff_nut_video_tags[] = {
>      { AV_CODEC_ID_RAWVIDEO, MKTAG('R', 'G', 'B', 15 ) },
>      { AV_CODEC_ID_RAWVIDEO, MKTAG('B', 'G', 'R', 15 ) },
> @@ -117,7 +122,7 @@ const AVCodecTag ff_nut_audio_tags[] = {
>  
>  const AVCodecTag * const ff_nut_codec_tags[] = {
>      ff_nut_video_tags, ff_nut_audio_tags, ff_nut_subtitle_tags,
> -    ff_codec_bmp_tags, ff_codec_wav_tags, 0
> +    ff_codec_bmp_tags, ff_codec_wav_tags, ff_nut_data_tags, 0
>  };
>  
>  void ff_nut_reset_ts(NUTContext *nut, AVRational time_base, int64_t val){
> diff --git a/libavformat/nut.h b/libavformat/nut.h
> index a91a109..5f624eb 100644
> --- a/libavformat/nut.h
> +++ b/libavformat/nut.h
> @@ -106,6 +106,7 @@ typedef struct NUTContext {
>  extern const AVCodecTag ff_nut_subtitle_tags[];
>  extern const AVCodecTag ff_nut_video_tags[];
>  extern const AVCodecTag ff_nut_audio_tags[];
> +extern const AVCodecTag ff_nut_data_tags[];
>  
>  extern const AVCodecTag * const ff_nut_codec_tags[];
>  
> diff --git a/libavformat/nutdec.c b/libavformat/nutdec.c
> index 9b1891f..9ce0519 100644
> --- a/libavformat/nutdec.c
> +++ b/libavformat/nutdec.c
> @@ -371,6 +371,7 @@ static int decode_stream_header(NUTContext *nut)
>          break;
>      case 3:
>          st->codec->codec_type = AVMEDIA_TYPE_DATA;
> +        st->codec->codec_id   = ff_codec_get_id(ff_nut_data_tags, tmp);
>          break;
>      default:
>          av_log(s, AV_LOG_ERROR, "unknown stream class (%d)\n", class);

ok

Janne
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to