comparison gxfenc.c @ 4673:c8161db9d863 libavformat

remove unneeded and empty user data
author bcoudurier
date Sun, 08 Mar 2009 22:12:56 +0000
parents f5d61e72fec5
children c727d4a90177
comparison
equal deleted inserted replaced
4672:f5d61e72fec5 4673:c8161db9d863
51 uint16_t mpeg_tracks; 51 uint16_t mpeg_tracks;
52 int64_t creation_time; 52 int64_t creation_time;
53 uint32_t umf_start_offset; 53 uint32_t umf_start_offset;
54 uint32_t umf_track_offset; 54 uint32_t umf_track_offset;
55 uint32_t umf_media_offset; 55 uint32_t umf_media_offset;
56 uint32_t umf_user_data_offset;
57 uint32_t umf_user_data_size;
58 uint32_t umf_length; 56 uint32_t umf_length;
59 uint16_t umf_track_size; 57 uint16_t umf_track_size;
60 uint16_t umf_media_size; 58 uint16_t umf_media_size;
61 int sample_rate; 59 int sample_rate;
62 int flags; 60 int flags;
404 put_le32(pb, gxf->umf_track_offset); /* umf track section offset */ 402 put_le32(pb, gxf->umf_track_offset); /* umf track section offset */
405 put_le32(pb, gxf->umf_track_size); 403 put_le32(pb, gxf->umf_track_size);
406 put_le32(pb, s->nb_streams); 404 put_le32(pb, s->nb_streams);
407 put_le32(pb, gxf->umf_media_offset); 405 put_le32(pb, gxf->umf_media_offset);
408 put_le32(pb, gxf->umf_media_size); 406 put_le32(pb, gxf->umf_media_size);
409 put_le32(pb, gxf->umf_user_data_offset); /* user data offset */ 407 put_le32(pb, gxf->umf_length); /* user data offset */
410 put_le32(pb, gxf->umf_user_data_size); /* user data size */ 408 put_le32(pb, 0); /* user data size */
411 put_le32(pb, 0); /* reserved */ 409 put_le32(pb, 0); /* reserved */
412 put_le32(pb, 0); /* reserved */ 410 put_le32(pb, 0); /* reserved */
413 return 48; 411 return 48;
414 } 412 }
415 413
566 url_fseek(pb, curpos, SEEK_SET); 564 url_fseek(pb, curpos, SEEK_SET);
567 } 565 }
568 return url_ftell(pb) - pos; 566 return url_ftell(pb) - pos;
569 } 567 }
570 568
571 static int gxf_write_umf_user_data(AVFormatContext *s)
572 {
573 GXFContext *gxf = s->priv_data;
574 ByteIOContext *pb = s->pb;
575 int64_t pos = url_ftell(pb);
576 gxf->umf_user_data_offset = pos - gxf->umf_start_offset;
577 put_le32(pb, 20);
578 put_le32(pb, 0);
579 put_le16(pb, 0);
580 put_le16(pb, 0);
581 put_le32(pb, 0);
582 put_byte(pb, 0);
583 put_byte(pb, 0);
584 put_byte(pb, 0);
585 put_byte(pb, 0);
586 return 20;
587 }
588
589 static int gxf_write_umf_packet(AVFormatContext *s) 569 static int gxf_write_umf_packet(AVFormatContext *s)
590 { 570 {
591 GXFContext *gxf = s->priv_data; 571 GXFContext *gxf = s->priv_data;
592 ByteIOContext *pb = s->pb; 572 ByteIOContext *pb = s->pb;
593 int64_t pos = url_ftell(pb); 573 int64_t pos = url_ftell(pb);
601 gxf->umf_start_offset = url_ftell(pb); 581 gxf->umf_start_offset = url_ftell(pb);
602 gxf_write_umf_payload(s); 582 gxf_write_umf_payload(s);
603 gxf_write_umf_material_description(s); 583 gxf_write_umf_material_description(s);
604 gxf->umf_track_size = gxf_write_umf_track_description(s); 584 gxf->umf_track_size = gxf_write_umf_track_description(s);
605 gxf->umf_media_size = gxf_write_umf_media_description(s); 585 gxf->umf_media_size = gxf_write_umf_media_description(s);
606 gxf->umf_user_data_size = gxf_write_umf_user_data(s);
607 gxf->umf_length = url_ftell(pb) - gxf->umf_start_offset; 586 gxf->umf_length = url_ftell(pb) - gxf->umf_start_offset;
608 return updatePacketSize(pb, pos); 587 return updatePacketSize(pb, pos);
609 } 588 }
610 589
611 static const int GXF_samples_per_frame[] = { 32768, 0 }; 590 static const int GXF_samples_per_frame[] = { 32768, 0 };