[FFmpeg-devel] [PATCH] pulse: set default frame_size to 4608

Michael Niedermayer michaelni at gmx.at
Fri Jan 3 18:41:19 CET 2014


On Fri, Jan 03, 2014 at 04:55:33PM +0100, Federico Simoncelli wrote:
> On Fri, Jan 3, 2014 at 3:44 AM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Fri, Jan 03, 2014 at 01:21:41AM +0100, Federico Simoncelli wrote:
> >> On Thu, Jan 2, 2014 at 11:26 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> >> > On Thu, Jan 02, 2014 at 04:36:45PM +0100, Federico Simoncelli wrote:
> >> >> Given the current defaults (channels = 2, sample_rate = 48000) the
> >> >> frame_size is changed to 4608 in order to obtain whole numbers for
> >> >> frame_duration (both 16 and 24 bits_per_sample).
> >> >>
> >> >>  frame_duration = (frame_size * 1000000 * 8) /
> >> >>                   (sample_rate * channels * bits_per_sample)
> >> >>
> >> >> A message has been added to warn the user when the frame duration
> >> >> is not an integer.
> >> >
> >> > the timebase should be changed to a multiple of the sample rate
> >> > see the avpriv_set_pts_info() call
> >> > that avoids the problem of the durations being not exactly
> >> > representable
> >>
> >> If I understand correctly what you're suggesting is:
> >>
> >> avpriv_set_pts_info(st, 64, 1, pd->sample_rate);
> >
> > yes
> >
> >> and it will generate non-representable timebases:
> >>
> >> 1/48 = .020833...
> >> 1/44.1 = .0226757
> >
> > rational numbers are quite representable, and really 1/1000000 is
> > a rational number in no way different than 1/48 or 1/48000 is
> > also if you dont like fractions you can just change the base of
> > your representation
> >
> > ...
> >
> > so really the non representability is just an artifact of humans
> > having 10 fingers
> 
> Yes, that's clear, what I meant is that there was 10-fingered code
> around somewhere since I was getting pts warnings after changing the
> timebase.
> Instead I pinpointed this to be something related to the mp3 encoder
> (I don't know what yet).

how can i reproduce that issue ?
can you share the work in progress patch ?


> 
> In fact for some reason it generates a (imo) weird initial frame:
> 
> frame_pts = 1105, frame_ts = 0.023021, base_ts = 0.000021
> frame_pts = 1152, frame_ts = 0.024000, base_ts = 0.000021
> frame_pts = 2304, frame_ts = 0.048000, base_ts = 0.000021
> frame_pts = 3456, frame_ts = 0.072000, base_ts = 0.000021
> ...
> 
> something that the aac encoder is not doing:
> 
> frame_pts = 1024, frame_ts = 0.021333, base_ts = 0.000021
> frame_pts = 2048, frame_ts = 0.042667, base_ts = 0.000021
> frame_pts = 3072, frame_ts = 0.064000, base_ts = 0.000021
> frame_pts = 4096, frame_ts = 0.085333, base_ts = 0.000021
> 
> -- 
> Federico
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> 

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

When the tyrant has disposed of foreign enemies by conquest or treaty, and
there is nothing more to fear from them, then he is always stirring up
some war or other, in order that the people may require a leader. -- Plato
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20140103/159dba76/attachment.asc>


More information about the ffmpeg-devel mailing list