Mercurial > octave-antonio
changeset 19811:f24d9486e66b
audioread: Fix sample index argument to be Matlab compatible
* audioread.cc (Faudioread): Use 1-based indexing for start and end indexes.
Accept Inf as an index to mean end-of-file. Add error check for index beyond
end-of-file.
author | Mike Miller <mtmiller@ieee.org> |
---|---|
date | Sat, 21 Feb 2015 11:08:12 -0500 |
parents | 343ca73b1507 |
children | f9ca80482c41 |
files | libinterp/dldfcn/audioread.cc |
diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/dldfcn/audioread.cc Sat Feb 21 11:09:11 2015 -0500 +++ b/libinterp/dldfcn/audioread.cc Sat Feb 21 11:08:12 2015 -0500 @@ -123,17 +123,17 @@ return retval; } - double dstart = range(0); - double dend = range(1); + double dstart = xisinf (range(0)) ? info.frames : range(0); + double dend = xisinf (range(1)) ? info.frames : range(1); - if (dstart < 0 || dstart > dend || D_NINT (dstart) != dstart - || D_NINT (dend) != dend) + if (dstart < 1 || dstart > dend || dend > info.frames + || D_NINT (dstart) != dstart || D_NINT (dend) != dend) { error ("audioread: invalid specification for range of frames"); return retval; } - start = dstart; + start = dstart - 1; end = dend; }