summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/asfheader.c32
1 files changed, 24 insertions, 8 deletions
diff --git a/libmpdemux/asfheader.c b/libmpdemux/asfheader.c
index cb61083b7b..c49084ca32 100644
--- a/libmpdemux/asfheader.c
+++ b/libmpdemux/asfheader.c
@@ -213,7 +213,7 @@ while(!stream_eof(demuxer->stream)){
// case ASF_GUID_PREFIX_index_chunk: return "guid_index_chunk";
case ASF_GUID_PREFIX_content_desc: // Content description
- if(verbose){
+ {
char *string=NULL;
stream_read(demuxer->stream,(char*) &contenth,sizeof(contenth));
le2me_ASF_content_description_t(&contenth);
@@ -222,37 +222,53 @@ while(!stream_eof(demuxer->stream)){
if( contenth.title_size!=0 ) {
string=(char*)malloc(contenth.title_size);
stream_read(demuxer->stream, string, contenth.title_size);
- print_asf_string(" Title: ", string, contenth.title_size);
+ if(verbose)
+ print_asf_string(" Title: ", string, contenth.title_size);
+ else
+ pack_asf_string(string, contenth.title_size);
+ demux_info_add(demuxer, "name", string);
}
// extract the author
if( contenth.author_size!=0 ) {
string=(char*)realloc((void*)string, contenth.author_size);
stream_read(demuxer->stream, string, contenth.author_size);
- print_asf_string(" Author: ", string, contenth.author_size);
+ if(verbose)
+ print_asf_string(" Author: ", string, contenth.author_size);
+ else
+ pack_asf_string(string, contenth.author_size);
+ demux_info_add(demuxer, "author", string);
}
// extract the copyright
if( contenth.copyright_size!=0 ) {
string=(char*)realloc((void*)string, contenth.copyright_size);
stream_read(demuxer->stream, string, contenth.copyright_size);
- print_asf_string(" Copyright: ", string, contenth.copyright_size);
+ if(verbose)
+ print_asf_string(" Copyright: ", string, contenth.copyright_size);
+ else
+ pack_asf_string(string, contenth.copyright_size);
+ demux_info_add(demuxer, "copyright", string);
}
// extract the comment
if( contenth.comment_size!=0 ) {
string=(char*)realloc((void*)string, contenth.comment_size);
stream_read(demuxer->stream, string, contenth.comment_size);
- print_asf_string(" Comment: ", string, contenth.comment_size);
+ if(verbose)
+ print_asf_string(" Comment: ", string, contenth.comment_size);
+ else
+ pack_asf_string(string, contenth.comment_size);
+ demux_info_add(demuxer, "comments", string);
}
// extract the rating
if( contenth.rating_size!=0 ) {
string=(char*)realloc((void*)string, contenth.rating_size);
stream_read(demuxer->stream, string, contenth.rating_size);
- print_asf_string(" Rating: ", string, contenth.rating_size);
+ if(verbose)
+ print_asf_string(" Rating: ", string, contenth.rating_size);
}
mp_msg(MSGT_HEADER,MSGL_V,"\n");
free(string);
- }
break;
-
+ }
} // switch GUID
if(ASF_LOAD_GUID_PREFIX(objh.guid)==ASF_GUID_PREFIX_data_chunk) break; // movi chunk