+
+ _broadcast_info = (SF_BROADCAST_INFO*) calloc (1, sizeof (SF_BROADCAST_INFO));
+
+ /* lookup broadcast info */
+
+ if (sf_command (sf, SFC_GET_BROADCAST_INFO, _broadcast_info, sizeof (*_broadcast_info)) != SF_TRUE) {
+
+ /* if the file has data but no broadcast info, then clearly, there is no broadcast info */
+
+ if (_length) {
+ free (_broadcast_info);
+ _broadcast_info = 0;
+ _flags = Flag (_flags & ~Broadcast);
+ }
+
+ set_timeline_position (header_position_offset);
+
+ } else {
+
+ /* XXX 64 bit alert: when JACK switches to a 64 bit frame count, this needs to use the high bits
+ of the time reference.
+ */
+
+ set_timeline_position ( _broadcast_info->time_reference_low );
+ }
+