mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
use new metadata API in nut demuxer
Originally committed as revision 17652 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
c27516003f
commit
00798e4563
@ -20,6 +20,7 @@
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <strings.h>
|
||||
#include "libavutil/avstring.h"
|
||||
#include "libavutil/bswap.h"
|
||||
#include "libavutil/tree.h"
|
||||
@ -395,6 +396,7 @@ static int decode_info_header(NUTContext *nut){
|
||||
char name[256], str_value[1024], type_str[256];
|
||||
const char *type;
|
||||
AVChapter *chapter= NULL;
|
||||
AVStream *st= NULL;
|
||||
|
||||
end= get_packetheader(nut, bc, 1, INFO_STARTCODE);
|
||||
end += url_ftell(bc);
|
||||
@ -410,7 +412,8 @@ static int decode_info_header(NUTContext *nut){
|
||||
chapter= ff_new_chapter(s, chapter_id,
|
||||
nut->time_base[chapter_start % nut->time_base_count],
|
||||
start, start + chapter_len, NULL);
|
||||
}
|
||||
} else if(stream_id_plus1)
|
||||
st= s->streams[stream_id_plus1 - 1];
|
||||
|
||||
for(i=0; i<count; i++){
|
||||
get_str(bc, name, sizeof(name));
|
||||
@ -440,21 +443,16 @@ static int decode_info_header(NUTContext *nut){
|
||||
continue;
|
||||
}
|
||||
|
||||
if(chapter_id==0 && !strcmp(type, "UTF-8")){
|
||||
if (!strcmp(name, "Author"))
|
||||
av_strlcpy(s->author , str_value, sizeof(s->author));
|
||||
else if(!strcmp(name, "Title"))
|
||||
av_strlcpy(s->title , str_value, sizeof(s->title));
|
||||
else if(!strcmp(name, "Copyright"))
|
||||
av_strlcpy(s->copyright, str_value, sizeof(s->copyright));
|
||||
else if(!strcmp(name, "Description"))
|
||||
av_strlcpy(s->comment , str_value, sizeof(s->comment));
|
||||
else if(!strcmp(name, "Disposition"))
|
||||
if(!strcmp(type, "UTF-8")){
|
||||
AVMetadata **metadata = NULL;
|
||||
if(chapter_id==0 && !strcmp(name, "Disposition"))
|
||||
set_disposition_bits(s, str_value, stream_id_plus1 - 1);
|
||||
}
|
||||
if(chapter && !strcmp(type, "UTF-8")){
|
||||
if(!strcmp(name, "Title"))
|
||||
chapter->title= av_strdup(str_value);
|
||||
else if(chapter) metadata= &chapter->metadata;
|
||||
else if(stream_id_plus1) metadata= &st->metadata;
|
||||
else metadata= &s->metadata;
|
||||
if(metadata && strcasecmp(name,"Uses")
|
||||
&& strcasecmp(name,"Depends") && strcasecmp(name,"Replaces"))
|
||||
av_metadata_set(metadata, name, str_value);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user