Browse Source

modules: add more vlc_tick_from_samples()

pull/72/head
Steve Lhomme 8 years ago
parent
commit
08af3e16c0
  1. 4
      modules/access/linsys/linsys_hdsdi.c
  2. 2
      modules/audio_output/directsound.c
  3. 6
      modules/audio_output/jack.c
  4. 4
      modules/audio_output/kai.c
  5. 2
      modules/audio_output/opensles_android.c
  6. 4
      modules/codec/g711.c
  7. 4
      modules/codec/lpcm.c
  8. 6
      modules/codec/shine.c
  9. 2
      modules/demux/caf.c
  10. 4
      modules/demux/flac.c
  11. 2
      modules/demux/nsv.c
  12. 2
      modules/demux/xiph_metadata.c
  13. 4
      modules/hw/vdpau/deinterlace.c
  14. 2
      modules/mux/mp4/libmp4mux.c
  15. 3
      modules/video_filter/fps.c
  16. 2
      src/os2/thread.c

4
modules/access/linsys/linsys_hdsdi.c

@ -629,8 +629,8 @@ static int HandleAudio( demux_t *p_demux, const uint8_t *p_buffer )
p_audio->i_channel * 2, p_sys->i_max_channel + 1 );
p_block->i_dts = p_block->i_pts
= p_sys->i_next_adate + (vlc_tick_t)p_audio->i_delay
* CLOCK_FREQ / p_sys->i_sample_rate;
= p_sys->i_next_adate + vlc_tick_from_samples(p_audio->i_delay,
p_sys->i_sample_rate);
p_block->i_length = p_sys->i_aincr;
es_out_Send( p_demux->out, p_audio->p_es, p_block );
}

2
modules/audio_output/directsound.c

@ -171,7 +171,7 @@ static HRESULT TimeGet( aout_stream_sys_t *sys, vlc_tick_t *delay )
/* underrun */
Flush(sys, false);
*delay = ( sys->i_data / sys->i_bytes_per_sample ) * CLOCK_FREQ / sys->i_rate;
*delay = vlc_tick_from_samples( sys->i_data / sys->i_bytes_per_sample, sys->i_rate );
return DS_OK;
}

6
modules/audio_output/jack.c

@ -352,9 +352,9 @@ static int TimeGet(audio_output_t *p_aout, vlc_tick_t *delay)
jack_ringbuffer_t *rb = p_sys->p_jack_ringbuffer;
const size_t bytes_per_frame = p_sys->i_channels * sizeof(jack_sample_t);
*delay = (p_sys->latency +
(jack_ringbuffer_read_space(rb) / bytes_per_frame)) *
CLOCK_FREQ / p_sys->i_rate;
*delay = p_sys->latency +
vlc_tick_from_samples(jack_ringbuffer_read_space(rb) / bytes_per_frame,
p_sys->i_rate);
return 0;
}

4
modules/audio_output/kai.c

@ -339,8 +339,8 @@ static int TimeGet( audio_output_t *aout, vlc_tick_t *restrict delay )
vlc_mutex_lock( &buffer->mutex );
*delay = ( buffer->length / format->i_bytes_per_frame ) * CLOCK_FREQ /
format->i_rate;
*delay = vlc_tick_from_samples( buffer->length / format->i_bytes_per_frame,
format->i_rate );
vlc_mutex_unlock( &buffer->mutex );

2
modules/audio_output/opensles_android.c

@ -169,7 +169,7 @@ static int TimeGet(audio_output_t* aout, vlc_tick_t* restrict drift)
return -1;
*drift = (CLOCK_FREQ * OPENSLES_BUFLEN * st.count / 1000)
+ sys->samples * CLOCK_FREQ / sys->rate;
+ vlc_tick_from_samples(sys->samples, sys->rate);
/* msg_Dbg(aout, "latency %"PRId64" ms, %d/%d buffers", *drift / 1000,
(int)st.count, OPENSLES_BUFFERS); */

4
modules/codec/g711.c

@ -1209,8 +1209,8 @@ static block_t *EncoderEncode( encoder_t *p_enc, block_t *p_aout_buf )
}
p_block->i_dts = p_block->i_pts = p_aout_buf->i_pts;
p_block->i_length = (int64_t)p_aout_buf->i_nb_samples *
CLOCK_FREQ / p_enc->fmt_in.audio.i_rate;
p_block->i_length = vlc_tick_from_samples(p_aout_buf->i_nb_samples,
p_enc->fmt_in.audio.i_rate);
return p_block;
}
#endif /* ENABLE_SOUT */

4
modules/codec/lpcm.c

@ -662,9 +662,9 @@ static block_t *EncodeFrames( encoder_t *p_enc, block_t *p_aout_buf )
/* We need to find i_length by means of next_pts due to possible roundoff errors. */
vlc_tick_t this_pts = p_aout_buf->i_pts +
(i * p_sys->i_frame_samples + i_start_offset) * CLOCK_FREQ / p_sys->i_rate;
vlc_tick_from_samples(i * p_sys->i_frame_samples + i_start_offset, p_sys->i_rate);
vlc_tick_t next_pts = p_aout_buf->i_pts +
((i + 1) * p_sys->i_frame_samples + i_start_offset) * CLOCK_FREQ / p_sys->i_rate;
vlc_tick_from_samples((i + 1) * p_sys->i_frame_samples + i_start_offset, p_sys->i_rate);
p_block->i_pts = p_block->i_dts = this_pts;
p_block->i_length = next_pts - this_pts;

6
modules/codec/shine.c

@ -228,7 +228,7 @@ static block_t *EncodeFrame( encoder_t *p_enc, block_t *p_block )
block_t *p_chain = NULL;
unsigned int i_samples = p_block->i_buffer >> 2 /* s16l stereo */;
vlc_tick_t start_date = p_block->i_pts;
start_date -= (vlc_tick_t)i_samples * CLOCK_FREQ / (vlc_tick_t)p_enc->fmt_out.audio.i_rate;
start_date -= vlc_tick_from_samples(i_samples, p_enc->fmt_out.audio.i_rate);
VLC_UNUSED(p_enc);
@ -260,8 +260,8 @@ static block_t *EncodeFrame( encoder_t *p_enc, block_t *p_block )
memcpy( p_mp3_block->p_buffer, buf, written );
/* date management */
p_mp3_block->i_length = p_sys->samples_per_frame * CLOCK_FREQ /
p_enc->fmt_out.audio.i_rate;
p_mp3_block->i_length = vlc_tick_from_samples(p_sys->samples_per_frame,
p_enc->fmt_out.audio.i_rate);
start_date += p_mp3_block->i_length;
p_mp3_block->i_dts = p_mp3_block->i_pts = start_date;

2
modules/demux/caf.c

@ -335,7 +335,7 @@ static inline vlc_tick_t FrameSpanGetTime( frame_span_t *span, uint32_t i_sample
if( !i_sample_rate )
return VLC_TICK_INVALID;
return ( span->i_samples * CLOCK_FREQ ) / i_sample_rate + VLC_TICK_0;
return vlc_tick_from_samples( span->i_samples, i_sample_rate) + VLC_TICK_0;
}
/* SetSpanWithSample returns the span from the beginning of the file up to and

4
modules/demux/flac.c

@ -726,8 +726,8 @@ static int ParseHeaders( demux_t *p_demux, es_format_t *p_fmt )
p_fmt->audio.i_channels = p_sys->stream_info.channels;
p_fmt->audio.i_bitspersample = p_sys->stream_info.bits_per_sample;
if( p_sys->stream_info.sample_rate > 0 )
p_sys->i_length = p_sys->stream_info.total_samples * CLOCK_FREQ
/ p_sys->stream_info.sample_rate;
p_sys->i_length = vlc_tick_from_samples(p_sys->stream_info.total_samples,
p_sys->stream_info.sample_rate);
continue;
}

2
modules/demux/nsv.c

@ -613,7 +613,7 @@ static int ReadNSVs( demux_t *p_demux )
else if( header[16] != 0 )
{
/* Integer frame rate */
p_sys->i_pcr_inc = CLOCK_FREQ / header[16];
p_sys->i_pcr_inc = vlc_tick_from_samples(1, header[16]);
}
else
{

2
modules/demux/xiph_metadata.c

@ -296,7 +296,7 @@ static void xiph_ParseCueSheetMeta( unsigned *pi_flags, vlc_meta_t *p_meta,
unsigned m, s, f;
if( sscanf( &psz_line[13], "%u:%u:%u", &m, &s, &f ) == 3 )
{
p_seekpoint->i_time_offset = vlc_tick_from_sec(m * 60 + s) + f * CLOCK_FREQ/75;
p_seekpoint->i_time_offset = vlc_tick_from_sec(m * 60 + s) + vlc_tick_from_samples(f, 75);
*pb_valid = true;
}
}

4
modules/hw/vdpau/deinterlace.c

@ -71,8 +71,8 @@ static picture_t *Deinterlace(filter_t *filter, picture_t *src)
dst->date = (3 * src->date - last_pts) / 2;
else
if (filter->fmt_in.video.i_frame_rate != 0)
dst->date = src->date + ((filter->fmt_in.video.i_frame_rate_base
* CLOCK_FREQ) / filter->fmt_in.video.i_frame_rate);
dst->date = src->date + vlc_tick_from_samples(filter->fmt_in.video.i_frame_rate_base
,filter->fmt_in.video.i_frame_rate);
dst->b_top_field_first = !src->b_top_field_first;
dst->i_nb_fields = 1;
src->i_nb_fields = 1;

2
modules/mux/mp4/libmp4mux.c

@ -1162,7 +1162,7 @@ static bo_t *GetTextBox(vlc_object_t *p_obj, mp4mux_trackinfo_t *p_track, bool b
static int64_t GetScaledEntryDuration( const mp4mux_entry_t *p_entry, uint32_t i_timescale,
vlc_tick_t *pi_total_mtime, int64_t *pi_total_scaled )
{
const vlc_tick_t i_totalscaledtototalmtime = *pi_total_scaled * CLOCK_FREQ / i_timescale;
const vlc_tick_t i_totalscaledtototalmtime = vlc_tick_from_samples(*pi_total_scaled, i_timescale);
const vlc_tick_t i_diff = *pi_total_mtime - i_totalscaledtototalmtime;
/* Ensure to compensate the drift due to loss from time, and from scale, conversions */

3
modules/video_filter/fps.c

@ -164,7 +164,8 @@ static int Open( vlc_object_t *p_this)
p_filter->fmt_in.video.i_frame_rate, p_filter->fmt_in.video.i_frame_rate_base,
p_filter->fmt_out.video.i_frame_rate, p_filter->fmt_out.video.i_frame_rate_base );
p_sys->i_output_frame_interval = p_filter->fmt_out.video.i_frame_rate_base * CLOCK_FREQ / p_filter->fmt_out.video.i_frame_rate;
p_sys->i_output_frame_interval = vlc_tick_from_samples(p_filter->fmt_out.video.i_frame_rate_base,
p_filter->fmt_out.video.i_frame_rate);
date_Init( &p_sys->next_output_pts,
p_filter->fmt_out.video.i_frame_rate, p_filter->fmt_out.video.i_frame_rate_base );

2
src/os2/thread.c

@ -909,7 +909,7 @@ vlc_tick_t vlc_tick_now (void)
/* We need to split the division to avoid 63-bits overflow */
lldiv_t d = lldiv (Q2LL(counter), freq);
return vlc_tick_from_sec( d.quot ) + ((d.rem * CLOCK_FREQ) / freq);
return vlc_tick_from_sec( d.quot ) + vlc_tick_from_samples(d.rem, freq);
}
#undef vlc_tick_wait

Loading…
Cancel
Save