
On Sat, Nov 04, 2006 at 10:47:45PM +0100, Michael Niedermayer wrote:
Hi
On Sat, Nov 04, 2006 at 03:53:13PM +0200, Oded Shimon wrote:
hmm, several bugs found in spec? [...]
the structure of a undamaged file should look like the following, [...] file: file_id_string while(!eof){ packet_header, main_header, packet_footer reserved_headers for(i=0; i<stream_count; i++){ packet_header, stream_header, packet_footer reserved_headers } while(next_code == info_startcode){ packet_header, info_packet, packet_footer reserved_headers } if(next_code == index_startcode){ packet_header, index_packet, packet_footer } if (!eof) while(next_code != main_startcode){ if(next_code == syncpoint_startcode){ packet_header, syncpoint, packet_footer } frame reserved_headers } }
Is it supposed to be impossible to write an info packet without writing an entire main header set?
the text above would suggest so ... is there a problem with this? does it not match something which was agreed upon? (no i dunno)
the possibility to write info packets anywere was removed in r16507 at that time we still had info streams, which where later droped
There were too many info flamewars for me to remember :)
also for the case of realtime streams where song info is updated at the song start, well there must be a main header there anyway or you cant start listening ... the exception would be if the main header is transmitted out of band with SDP or similar but then the info packets could as well be transmitted out of band instead of blindly sending them duplicated a few times ...
Why would i need to repeat the main headers just for a song change? it involves no codec change or anything else (which is illegal in NUT anyway), just a change of songs, which means nothing but a change of metadata... This is a radio, the main headers are only given for you once at connect (which btw should carry the metadata of the _current_ song), but the metadata can change frequently, so you need to send new info packets, no need to send with it the entire bloated vorbis header... - ods15