comparison libmpdemux/demux_viv.c @ 3068:572a94255d1e

added support for demux_info
author alex
date Thu, 22 Nov 2001 15:08:39 +0000
parents 3f8798f1f4bc
children e6bbc5e6a054
comparison
equal deleted inserted replaced
3067:1207bd5de2b2 3068:572a94255d1e
127 127
128 /* only for displaying some informations about movie*/ 128 /* only for displaying some informations about movie*/
129 if (!strcmp(opt, "Title")) 129 if (!strcmp(opt, "Title"))
130 { 130 {
131 mp_msg(MSGT_DEMUX, MSGL_INFO, " Title: %s\n", param); 131 mp_msg(MSGT_DEMUX, MSGL_INFO, " Title: %s\n", param);
132 demux_info_add(demux, "name", param);
132 priv->title = malloc(strlen(param)); 133 priv->title = malloc(strlen(param));
133 strcpy(priv->title, param); 134 strcpy(priv->title, param);
134 } 135 }
135 if (!strcmp(opt, "Author")) 136 if (!strcmp(opt, "Author"))
136 { 137 {
137 mp_msg(MSGT_DEMUX, MSGL_INFO, " Author: %s\n", param); 138 mp_msg(MSGT_DEMUX, MSGL_INFO, " Author: %s\n", param);
139 demux_info_add(demux, "author", param);
138 priv->author = malloc(strlen(param)); 140 priv->author = malloc(strlen(param));
139 strcpy(priv->author, param); 141 strcpy(priv->author, param);
140 } 142 }
141 if (!strcmp(opt, "Copyright")) 143 if (!strcmp(opt, "Copyright"))
142 { 144 {
143 mp_msg(MSGT_DEMUX, MSGL_INFO, " Copyright: %s\n", param); 145 mp_msg(MSGT_DEMUX, MSGL_INFO, " Copyright: %s\n", param);
146 demux_info_add(demux, "copyright", param);
144 priv->copyright = malloc(strlen(param)); 147 priv->copyright = malloc(strlen(param));
145 strcpy(priv->copyright, param); 148 strcpy(priv->copyright, param);
146 } 149 }
147 if (!strcmp(opt, "Producer")) 150 if (!strcmp(opt, "Producer"))
148 { 151 {
149 mp_msg(MSGT_DEMUX, MSGL_INFO, " Producer: %s\n", param); 152 mp_msg(MSGT_DEMUX, MSGL_INFO, " Producer: %s\n", param);
153 demux_info_add(demux, "software", param);
150 priv->producer = malloc(strlen(param)); 154 priv->producer = malloc(strlen(param));
151 strcpy(priv->producer, param); 155 strcpy(priv->producer, param);
152 } 156 }
153 157
154 /* get next token */ 158 /* get next token */
265 break; 269 break;
266 case 0x20: // video packet 270 case 0x20: // video packet
267 len=stream_read_char(demux->stream); 271 len=stream_read_char(demux->stream);
268 ds=demux->video; 272 ds=demux->video;
269 break; 273 break;
270 case 0x30: // audio ? 274 case 0x30: // audio packet
271 len=0x28; 275 len=40; /* 40kbps */
272 ds=demux->audio; 276 ds=demux->audio;
273 break; 277 break;
274 case 0x40: // audio packet 278 case 0x40: // audio packet
275 len=24; 279 len=24; /* 24kbps */
276 ds=demux->audio; 280 ds=demux->audio;
277 break; 281 break;
278 default: 282 default:
279 mp_msg(MSGT_DEMUX,MSGL_WARN,"VIVO - unknown ID found: %02X contact author!\n",c); 283 mp_msg(MSGT_DEMUX,MSGL_WARN,"VIVO - unknown ID found: %02X contact author!\n",c);
280 } 284 }
520 mp_msg(MSGT_DEMUX,MSGL_ERR,"VIVO: " MSGTR_MissingAudioStream); 524 mp_msg(MSGT_DEMUX,MSGL_ERR,"VIVO: " MSGTR_MissingAudioStream);
521 } else 525 } else
522 { sh_audio_t* sh=new_sh_audio(demuxer,1); 526 { sh_audio_t* sh=new_sh_audio(demuxer,1);
523 527
524 sh->format=0x111; // 0x112 528 sh->format=0x111; // 0x112
529 // if (sh->format == 0x111) /* G.723 */
530 // sh->samplesize = demuxer->audio->buffer_size;
531 // printf("samplesize: %d\n", sh->samplesize);
525 // Emulate WAVEFORMATEX struct: 532 // Emulate WAVEFORMATEX struct:
526 sh->wf=malloc(sizeof(WAVEFORMATEX)); 533 sh->wf=malloc(sizeof(WAVEFORMATEX));
527 memset(sh->wf,0,sizeof(WAVEFORMATEX)); 534 memset(sh->wf,0,sizeof(WAVEFORMATEX));
528 sh->wf->nChannels=1; 535 sh->wf->nChannels=1;
529 sh->wf->wBitsPerSample=16; 536 sh->wf->wBitsPerSample=16;