4 years agoFirst pass at OPUS_SET_EXPERT_VARIABLE_DURATION support. variable_duration
Gregory Maxwell [Mon, 11 Feb 2013 17:56:05 +0000 (09:56 -0800)]

4 years agoopusdec: handle chaining without EOS on the prior chain.
Gregory Maxwell [Thu, 7 Feb 2013 22:34:43 +0000 (14:34 -0800)]
opusdec: handle chaining without EOS on the prior chain.

4 years agoDon't clobber FLAC_CFLAGS and FLAC_LIBS from the command line.
Ralph Giles [Thu, 7 Feb 2013 21:18:14 +0000 (13:18 -0800)]
Don't clobber FLAC_CFLAGS and FLAC_LIBS from the command line.

PKG_CHECK_MODULES() inserts help text about being able to override
the pkg-config output with appropriate environment flags, and indeed
the macro respects this and does nothing if they're both set.

The subsequent fallback checks for system libFLAC were variously
clobbering and ignoring any previous values for the flags variables,
making the help text incorrect and preventing their use to build
against an uninstalled flac library.

Note that PKG_CHECK_MODULES() actually reports 'yes' that it's
found flac if both FLAC_CFLAGS and FLAC_LIBS are non-empty strings,
without verifying that they work.

Thanks to Nekit1234007 for reporting the issue.

4 years agoRequire libFLAC >= 1.1.3 in the no-pkg-config case
Timothy B. Terriberry [Thu, 7 Feb 2013 16:33:11 +0000 (08:33 -0800)]
Require libFLAC >= 1.1.3 in the no-pkg-config case

4 years agoExpose the --discard-comments flag in the opusenc help.
Gregory Maxwell [Tue, 5 Feb 2013 23:06:39 +0000 (15:06 -0800)]
Expose the --discard-comments flag in the opusenc help.

4 years agoMake sure the flac input replay gain tag parsing uses the C locale.
Gregory Maxwell [Tue, 5 Feb 2013 23:04:36 +0000 (15:04 -0800)]
Make sure the flac input replay gain tag parsing uses the C locale.

My best read of the spec suggests that the the replay gain tags should always
 be formatted with the "." radix (rather than, say, ",") and certainly our
 parsing should not depend in the user's locale setting.

4 years agoAdd metadata padding in opusenc.
Gregory Maxwell [Tue, 5 Feb 2013 19:44:07 +0000 (11:44 -0800)]
Add metadata padding in opusenc.

4 years agoDon't include new title/album/date/genre args in the command-line tag.
Gregory Maxwell [Tue, 22 Jan 2013 20:03:43 +0000 (15:03 -0500)]
Don't include new title/album/date/genre args in the command-line tag.

We don't save anything in the command-line tag that would leak file
paths or duplicate other metadata.

4 years agoAdd more standard tag switches to opusenc.
Ralph Giles [Tue, 15 Jan 2013 22:32:22 +0000 (14:32 -0800)]
Add more standard tag switches to opusenc.

This adds --album, --date, and --genre to opusenc, to simplify
adding these common tags. This now matches the subset oggenc
offers direct command line switches for.

4 years agoSave (some) commandline arguments into a comment in opusenc.
Gregory Maxwell [Tue, 15 Jan 2013 21:53:43 +0000 (16:53 -0500)]
Save (some) commandline arguments into a comment in opusenc.

Also, fix the serial option which had gone AWOL.

4 years agoAdd the '=' separator inside comment_add().
Ralph Giles [Tue, 15 Jan 2013 21:48:42 +0000 (13:48 -0800)]
Add the '=' separator inside comment_add().

This avoids having to remember to pass it in as part of the
tag name, which is confusing when the fuction takes both
a tag and a value as separate arguments.

The separator is only added if the tag is non-null, so
the --comment option, which passes tag and value together
in the value argument still works fine.

4 years agoMake it more clear that the rate range range is instantaneous bitrates.
Gregory Maxwell [Tue, 15 Jan 2013 16:26:24 +0000 (11:26 -0500)]
Make it more clear that the rate range range is instantaneous bitrates.

4 years agoUse AC_CONFIG_HEADERS.
Ralph Giles [Wed, 2 Jan 2013 23:55:37 +0000 (15:55 -0800)]

This avoids an obsolescence warning with newer autoconf.

4 years agoRemove extraneous CONFIG_H after #endif in win32/config.h.
Gregory Maxwell [Fri, 21 Dec 2012 19:09:52 +0000 (14:09 -0500)]
Remove extraneous CONFIG_H after #endif in win32/config.h.

4 years agoDocument the intent of the #ifdefs around query_cpu_support.
Ralph Giles [Mon, 17 Dec 2012 23:17:15 +0000 (15:17 -0800)]
Document the intent of the #ifdefs around query_cpu_support.

I found the code bypassing the query definition both when
SSE isn't available _and_ on x86_64, where it is unconditionally
available, confusing. That's not what I expected from general
cpuid reporting implementation.

Instead, it's specialized to the code's use only to warn before
the user hits an invalid instruction, so it makes sense to disable
it in those particular cases.

Thanks to Greg Maxwell for explaining what was going on.

4 years agoFix an indent.
Ralph Giles [Mon, 17 Dec 2012 21:46:56 +0000 (13:46 -0800)]
Fix an indent.

4 years agoAdd FLAC support files to MSVC projects.
Gian-Carlo Pascutto [Wed, 12 Dec 2012 07:03:51 +0000 (08:03 +0100)]
Add FLAC support files to MSVC projects.

4 years agoBump version.
Gregory Maxwell [Tue, 11 Dec 2012 22:53:41 +0000 (17:53 -0500)]
Bump version.

4 years agoAdd serial number argument to opusenc, updates help for FLAC.
Gregory Maxwell [Mon, 10 Dec 2012 15:17:09 +0000 (10:17 -0500)]
Add serial number argument to opusenc, updates help for FLAC.

4 years agoMakefile.unix updates for flac support.
Gregory Maxwell [Sun, 9 Dec 2012 06:47:54 +0000 (01:47 -0500)]
Makefile.unix updates for flac support.

4 years agoAdd FLAC input support.
Timothy B. Terriberry [Sun, 9 Dec 2012 01:10:42 +0000 (17:10 -0800)]
Add FLAC input support.

This copies the tags from FLAC files by default.
It also properly strips ReplayGain tags and converts them into a
 header gain and an R128_TRACK_GAIN tag, according to the current
 OggOpus specification (draft-ietf-codec-oggopus-00).

4 years agoDistribute the getopt implementation for the msvc build. v0.1.6
Ralph Giles [Fri, 7 Dec 2012 23:18:46 +0000 (15:18 -0800)]
Distribute the getopt implementation for the msvc build.

4 years agoAdd win32/version.h to the distribution so it does some good.
Ralph Giles [Fri, 7 Dec 2012 22:58:48 +0000 (14:58 -0800)]
Add win32/version.h to the distribution so it does some good.

Thanks to Greg for pointing out I'd missed this.

4 years agoRemove MSVC incremental linking directives.
Ralph Giles [Fri, 7 Dec 2012 20:33:18 +0000 (12:33 -0800)]
Remove MSVC incremental linking directives.

This avoids linker errors with VS2010 of the form
    failure during conversion to COFF: invalid file or corrupt

The problem does not occur if the project files are updated
to build under VS2012.

4 years agoAdd a static win32/version.h for tarball builds.
Ralph Giles [Fri, 7 Dec 2012 20:08:19 +0000 (12:08 -0800)]
Add a static win32/version.h for tarball builds.

This must be updated in sync with the version numbers in

The autotools build strips the initial 'v' from release
tags, but genversion.bat does not, so I've left it in
the static version.h to match what would be generated
when building from the git tag.

4 years agoAdd -lm to the opusrtp build line.
Ralph Giles [Fri, 7 Dec 2012 17:19:35 +0000 (09:19 -0800)]
Add -lm to the opusrtp build line.

This is a dependency of libopus.

4 years agoBump version.
Gregory Maxwell [Fri, 7 Dec 2012 11:49:39 +0000 (06:49 -0500)]
Bump version.

4 years agoHide uncoupled in opusenc. It's being confused as something to increase quality.
Gregory Maxwell [Mon, 3 Dec 2012 16:16:33 +0000 (11:16 -0500)]
Hide uncoupled in opusenc. It's being confused as something to increase quality.

The option was added primarily for multistream debugging. I don't believe anyone
 is currently using it, but I'll leave it in for now for compatibility and because
 my own test scripts use it.

Uncouplued is not something people should normally be setting as it results in
 lower quality streams which are gratuitously RTP incompatible.

4 years agoFix opusenc crash on win32 for large files; Length detection on 32bit.
Gregory Maxwell [Tue, 27 Nov 2012 20:03:17 +0000 (15:03 -0500)]
Fix opusenc crash on win32 for large files; Length detection on 32bit.

Opusenc was using ftell() whos return is 32 bits on some systems to get the
 input file size and later code was not dealing well with negative sizes.
This commit changes to use 64-bit returning functions where available and
 sanity checks the detected length then treats any cases where the length
 still ends up negative as streams.

Thanks to win32vb on IRC for the report and reproduction.

4 years agoEnable maintainer mode by default on automake 1.11
Ralph Giles [Wed, 14 Nov 2012 20:51:21 +0000 (12:51 -0800)]
Enable maintainer mode by default on automake 1.11

Passing 'enable' as an argument to AM_MAINTAINER_MODE flips the
default to enabled, rather than disabled until automake 1.11.
This is a safer default for a developer-oriented library.

./configure --disable-maintainer-mode is still available for
packagers who what to preserve the upstream build distribution.

On earlier automake versions, the argument appears to have no
effect, so there is no behaviour change for developers using
older autotools.

Based on a patch for opusfile by ron@debian.org.

4 years agoConditionalize the opusrtp socket code.
Ralph Giles [Mon, 5 Nov 2012 22:12:45 +0000 (14:12 -0800)]
Conditionalize the opusrtp socket code.

This lets it compile (but not be functional) on Windows,
which doesn't support the posix socket api.

4 years agoUpdate Makefile.unix to work with mingw.
Ralph Giles [Mon, 5 Nov 2012 20:47:51 +0000 (12:47 -0800)]
Update Makefile.unix to work with mingw.

If $(CC) contains the substring 'mingw' then add some
options required to target windows. This fixes

  make -f Makefile.unix CC=i686-w64-mingw32-gcc

on my Fedora 17 system.

This uses a few more GNU make features, and makes the
Makefile itself less portable. However, we've had some
gnu-isms like := for a couple of releases so far without

4 years agoSimplify native-endian reader.
Ralph Giles [Mon, 5 Nov 2012 06:52:47 +0000 (22:52 -0800)]
Simplify native-endian reader.

We don't need the union, we can memcpy directly into an int.
NB this assumes at least a 32 bit int, since the actual header
field is 32 bits.

Also minor related comment updates

4 years agoAdd a native-endian int32 reader. Fixes an ARM warning.
Ralph Giles [Mon, 5 Nov 2012 06:03:48 +0000 (22:03 -0800)]
Add a native-endian int32 reader. Fixes an ARM warning.

Arm (and other) architectures have stricter alignment requirements
thank x86, so just casting a char* to an int* and reading from it
could cause an exception, and because of this gcc warns on that

I'm pretty sure this particular read would always be aligned in
pracice, since it's the first word of the network packet returned
by pcap, but adding a more general helper is reasonable.

We memcpy() the value into a union, which the compiler should
allocate aligned, and then read the data back out as an int.

Thanks to Ron for reporting the issue, and Greg for suggesting
the fix.

4 years agoLower default bitrates for sampling rates <44.1k. Fix status output.
Gregory Maxwell [Sat, 3 Nov 2012 17:28:30 +0000 (13:28 -0400)]
Lower default bitrates for sampling rates <44.1k. Fix status output.

Getting 64kbit/sec output for a mono 8kHz stream is somewhat surprising.
Instead lower the default rate by a factor of (rate+16000)/64000 for rates
under 44.1kHz. This gives mono 8kHz a more respectable 24kbit/sec rate.

In opusenc the "encoding complete" was incompletely overwriting
the last status line. Now it takes care to overwrite it all the way.

4 years agoFix opusrtp option handling.
Ralph Giles [Tue, 30 Oct 2012 22:49:33 +0000 (15:49 -0700)]
Fix opusrtp option handling.

I don't know what I was thinking, but 'i' wasn't the variable
I wanted to be shifting the argument list by.

4 years agoAlso reject streams where a second packet begins but is not completed on the header...
Gregory Maxwell [Sun, 21 Oct 2012 23:42:03 +0000 (19:42 -0400)]
Also reject streams where a second packet begins but is not completed on the header pages.

4 years agoReject inputs where there is more than one packet on the initial two pages.
Gregory Maxwell [Sun, 21 Oct 2012 22:51:37 +0000 (18:51 -0400)]
Reject inputs where there is more than one packet on the initial two pages.

This will help encoder/streamer implementations that have it wrong
detect their mistake a little earlier.

4 years agoUpdate the hard-coded opus payload type.
Ralph Giles [Thu, 18 Oct 2012 22:49:23 +0000 (15:49 -0700)]
Update the hard-coded opus payload type.

This matches the value used by the webrtc.org codebase now that
the basic support patch has been merged.

5 years agoWarning fix: rename 'state' variable to 'headers'.
Ralph Giles [Tue, 16 Oct 2012 20:58:38 +0000 (13:58 -0700)]
Warning fix: rename 'state' variable to 'headers'.

gcc 4.7.2's -Wshadow can't tell types from variable names.

5 years agoPrint the packet duration as well as size when sending.
Ralph Giles [Thu, 4 Oct 2012 16:31:06 +0000 (09:31 -0700)]
Print the packet duration as well as size when sending.

Helps debug duration-related issues.

5 years agoAccept filenames to send over rtp on the command line.
Ralph Giles [Thu, 4 Oct 2012 07:10:30 +0000 (00:10 -0700)]
Accept filenames to send over rtp on the command line.

Also update the usage and manpage for the send functionality.

5 years agoCalculate timestamps from packet durations.
Ralph Giles [Thu, 4 Oct 2012 04:54:43 +0000 (21:54 -0700)]
Calculate timestamps from packet durations.

Previously, everything was hard-coded to 20 ms. Now we increment
rtp timestamps and ogg granulepos based on the packet duration
as described by the ToC header.

This adds a dependency on libopus, but the opus_packet() calls
as small and can stand alone, so they could be extracted and
supplied separately if necessary.

Granulepos values are still ignored when reading from a .opus
file. It would probably be better to either warn, or use those
as much as possible to set the rtp timestamps to better represent
the recorded data.

5 years agoDon't truncate the rtp packets.
Ralph Giles [Wed, 3 Oct 2012 22:36:11 +0000 (15:36 -0700)]
Don't truncate the rtp packets.

Previously, the length passed to the sendto() function didn't
include the length of the rtp header, truncating every packet
by 12 bytes.

Also use the calculated rtp header size, rather than hard-coding
the minimum size.

5 years agoThe current rtp version is 2.
Ralph Giles [Wed, 3 Oct 2012 21:49:34 +0000 (14:49 -0700)]
The current rtp version is 2.

Previously we were sending version 0, which the webrtc.org
code rightly rejects.

5 years agoOnly clear ogg_stream_state if it's initialized.
Ralph Giles [Wed, 3 Oct 2012 21:25:29 +0000 (14:25 -0700)]
Only clear ogg_stream_state if it's initialized.

Corrects a crash when rtpdump.opus exists, but isn't valid data.

5 years agoRemove a debug statement.
Ralph Giles [Wed, 3 Oct 2012 21:25:11 +0000 (14:25 -0700)]
Remove a debug statement.

5 years agoGet the link-layer header type from pcap_datalink.
Ralph Giles [Wed, 3 Oct 2012 21:02:29 +0000 (14:02 -0700)]
Get the link-layer header type from pcap_datalink.

Instead of using compile-time switches to choose loopback
or eth header parsing in sniff mode, ask libpcap what it
will be supplying and parse based on that.

Also abort if the link layer type isn't ethernet or loopback,
or if the header doesn't indicate IP/UDP.

5 years agoLoopback packet header is host, not big, endian.
Ralph Giles [Wed, 3 Oct 2012 20:08:19 +0000 (13:08 -0700)]
Loopback packet header is host, not big, endian.

This returns the proper value (2) on darwin, matching socket.h:
  #define AF_INET 2 /* internetwork: UDP, TCP, etc. */

5 years agoAdd 'loopback' header parsing to the sniff mode.
Ralph Giles [Tue, 2 Oct 2012 23:57:30 +0000 (16:57 -0700)]
Add 'loopback' header parsing to the sniff mode.

On darwin, pcap returns packets from the loopback device
with a 4 byte 'family' number, instead of the dummy eth
header we get on linux. Add support for parsing this
instead. The build now needs to define either 'LOOP' or
'ETH' to control which is expected.

I don't know if there's a way to ask pcap about this,
but wireshark manages to handle it correctly.

Also hardcode the sniff device to 'lo0' as required by
darwin instead of linux 'lo'. That's where I'm currently

5 years agoImprove trace output.
Ralph Giles [Tue, 2 Oct 2012 23:56:51 +0000 (16:56 -0700)]
Improve trace output.

5 years agoMake the payload type a constant.
Ralph Giles [Tue, 2 Oct 2012 23:53:52 +0000 (16:53 -0700)]
Make the payload type a constant.

This lets us use the same value in the sniff and send functions.

5 years agoReturn after executing --sniff.
Ralph Giles [Tue, 2 Oct 2012 22:23:49 +0000 (15:23 -0700)]
Return after executing --sniff.

Otherwise we fall through to the default sending behaviour.

5 years agoRate-limit the RTP packets.
Ralph Giles [Tue, 2 Oct 2012 22:22:22 +0000 (15:22 -0700)]
Rate-limit the RTP packets.

5 years agoThe webrtc.org code is using payload type 113.
Ralph Giles [Tue, 2 Oct 2012 22:21:45 +0000 (15:21 -0700)]
The webrtc.org code is using payload type 113.

5 years agoHack up an rtp sender.
Ralph Giles [Tue, 2 Oct 2012 20:13:18 +0000 (13:13 -0700)]
Hack up an rtp sender.

This sends the file 'rtpdump.opus' over rtp. Host and port are
hard-coded to, payload type 109, 20 ms packets.

5 years agoAdd serialize_rtp_header.
Ralph Giles [Mon, 1 Oct 2012 22:39:44 +0000 (15:39 -0700)]
Add serialize_rtp_header.

Start of rtp packet send support.

5 years agoOpusdec don't add wav header on non-.wav output. Offer --force-wav.
Gregory Maxwell [Thu, 27 Sep 2012 12:34:35 +0000 (08:34 -0400)]
Opusdec don't add wav header on non-.wav output. Offer --force-wav.

5 years agoFixed potential over-allocation / (fatal) under-allocation on platforms where sizeof...
Sherief N. Farouk [Tue, 3 Nov 2009 22:30:23 +0000 (17:30 -0500)]
Fixed potential over-allocation / (fatal) under-allocation on platforms where sizeof(int) != 4.

5 years agoAdd some notes on the meaning of the complexity knob.
Gregory Maxwell [Wed, 19 Sep 2012 20:43:24 +0000 (16:43 -0400)]
Add some notes on the meaning of the complexity knob.

5 years agoFix compilation on non-Windows x86-32 w/ -msse.
Andreas Schlick [Thu, 13 Sep 2012 17:44:50 +0000 (19:44 +0200)]
Fix compilation on non-Windows x86-32 w/ -msse.

cpusupport.h used __cpuid() from the Windows specific header file intrin.h
which is not available under gcc. But we can use __get_cpuid() from cpuid.h

5 years agoAdd a comment describing what read_padder is doing.
Ralph Giles [Fri, 14 Sep 2012 19:35:53 +0000 (12:35 -0700)]
Add a comment describing what read_padder is doing.

5 years agoThat didn't work either. Just remove the libtool section.
Ralph Giles [Wed, 12 Sep 2012 06:20:05 +0000 (23:20 -0700)]
That didn't work either. Just remove the libtool section.

Zero is the third polarity?

If we ever do want libtool, it's easy enough to copy this
back from the opus/autogen.sh.

5 years agoActually disable libtool.
Ralph Giles [Wed, 12 Sep 2012 06:00:23 +0000 (23:00 -0700)]
Actually disable libtool.

Reversing the polarity. I was trying to disable the libtoolize
invocation and failed.

5 years agoFix a typo in the previous commit.
Ralph Giles [Wed, 5 Sep 2012 21:23:56 +0000 (14:23 -0700)]
Fix a typo in the previous commit.

Accidentally deleted the trailing quote on the version string.

5 years agoUpdate manual version strings after the 0.1.5 release.
Ralph Giles [Wed, 5 Sep 2012 21:15:39 +0000 (14:15 -0700)]
Update manual version strings after the 0.1.5 release.

5 years agoReject playback of multichannel files through sys/soundcard.h.
Ralph Giles [Tue, 4 Sep 2012 21:41:01 +0000 (14:41 -0700)]
Reject playback of multichannel files through sys/soundcard.h.

Previously we wrote out the n channel data to an fd configured
for mono output, which doesn't sound very good. Better to reject

There is a SNDCTL_DSP_CHANNELS we can use to request multichannel
output, but there doesn't seem to be a way to set the channel
mapping, so it's not much better.

5 years agoAdd basic content to the empty README.
Ralph Giles [Tue, 4 Sep 2012 17:36:35 +0000 (10:36 -0700)]
Add basic content to the empty README.

5 years agoBump version. v0.1.5
Gregory Maxwell [Tue, 4 Sep 2012 17:31:37 +0000 (13:31 -0400)]
Bump version.

5 years agoAdd opusrtp.1 to the distribution.
Ralph Giles [Tue, 4 Sep 2012 17:15:13 +0000 (10:15 -0700)]
Add opusrtp.1 to the distribution.

I couldn't find a noinst_ version of the manpage targets,
and we don't want to install this manpage until opusrtp
itself is stable enough to install, so we just use EXTRA_DIST.

5 years agoRemove opusrtp as part of the 'clean' target.
Ralph Giles [Tue, 4 Sep 2012 17:06:37 +0000 (10:06 -0700)]
Remove opusrtp as part of the 'clean' target.

5 years agoDefine a PROGS variable in Makefile.unix.
Ralph Giles [Tue, 4 Sep 2012 17:04:50 +0000 (10:04 -0700)]
Define a PROGS variable in Makefile.unix.

This avoids duplicating the program listing in both
the all and clean targets.

5 years agoAdd an optional target for opusrtp to Makefile.unix.
Ralph Giles [Tue, 4 Sep 2012 17:04:13 +0000 (10:04 -0700)]
Add an optional target for opusrtp to Makefile.unix.

5 years agoDefine fallback PACKAGE and VERSION.
Ralph Giles [Sat, 1 Sep 2012 07:03:53 +0000 (00:03 -0700)]
Define fallback PACKAGE and VERSION.

I only did this for opusrtp, since Makefile.unix doesn't
build it, and it's tedious to define these every time
when compiling.

Also makes the compilation instructions at the top of the
file valid again.

5 years agoAdd basic option parsing to opusrtp and a manpage.
Ralph Giles [Sat, 1 Sep 2012 06:56:24 +0000 (23:56 -0700)]
Add basic option parsing to opusrtp and a manpage.

So far opusrtp only has the --sniff function, but we
now require --sniff to activate it, and add --help,
--version and a manpage to document what does and
doesn't work.

5 years agoAdd a BSD license header to opusrtp.c.
Ralph Giles [Sat, 1 Sep 2012 06:55:00 +0000 (23:55 -0700)]
Add a BSD license header to opusrtp.c.

Contributing under the dominant license of the project.

5 years agoCast away a const warning.
Ralph Giles [Sat, 1 Sep 2012 06:54:31 +0000 (23:54 -0700)]
Cast away a const warning.

5 years agoList -h before -V in the option summaries.
Ralph Giles [Sat, 1 Sep 2012 06:00:22 +0000 (23:00 -0700)]
List -h before -V in the option summaries.

5 years agoUse -V for --version in all utilities.
Ralph Giles [Sat, 1 Sep 2012 05:55:41 +0000 (22:55 -0700)]
Use -V for --version in all utilities.

Capital -V is a common short option for printing the program
version string as it frees lowercase -v for --verbose. This
makes opusenc and opusdec use -V and match opusinfo and oggenc.

Also updates the manpages, including mentioning -V for opusinfo.

5 years agoRemove --speech and --music from the oggenc manpage.
Ralph Giles [Sat, 1 Sep 2012 06:03:08 +0000 (23:03 -0700)]
Remove --speech and --music from the oggenc manpage.

These options were removed from the program in ceb46c225fd9.

5 years agoDon't install opusrtp for now.
Ralph Giles [Fri, 31 Aug 2012 18:11:39 +0000 (11:11 -0700)]
Don't install opusrtp for now.

It's not generally useful yet.

5 years agoDon't call libtoolize from autogen.sh.
Ralph Giles [Fri, 31 Aug 2012 17:40:16 +0000 (10:40 -0700)]
Don't call libtoolize from autogen.sh.

We aren't using libtool, so don't require it to build.

5 years agoMove opus.m4 to an m4 subdir and add ogg.m4 and pkg.m4.
Ralph Giles [Fri, 31 Aug 2012 17:22:52 +0000 (10:22 -0700)]
Move opus.m4 to an m4 subdir and add ogg.m4 and pkg.m4.

We need to ship copies of all the custom macros we use,
so it's cleaner to use a subdirectory.

5 years agoAdd opus.m4 from the opus repo so XIPH_PATH_OPUS is available.
Ralph Giles [Fri, 31 Aug 2012 17:05:10 +0000 (10:05 -0700)]
Add opus.m4 from the opus repo so XIPH_PATH_OPUS is available.

5 years agoUse opus.m4 for autotools opus config to enable --with-opus=.
Gregory Maxwell [Thu, 30 Aug 2012 21:28:16 +0000 (17:28 -0400)]
Use opus.m4 for autotools opus config to enable --with-opus=.

5 years agoMerge branch 'rtp' from users/giles/opus-tools.git.
Ralph Giles [Mon, 27 Aug 2012 23:48:40 +0000 (16:48 -0700)]
Merge branch 'rtp' from users/giles/opus-tools.git.

5 years agoFix a config.h typo.
Ralph Giles [Mon, 27 Aug 2012 23:48:01 +0000 (16:48 -0700)]
Fix a config.h typo.

5 years agoifdef-protect the pcap code.
Ralph Giles [Mon, 27 Aug 2012 23:40:23 +0000 (16:40 -0700)]
ifdef-protect the pcap code.

We don't want to break the build when libpcap isn't available,
and eventually we want this tool to send/receive rtp streams
as well as sniff them, so move the pcap-related code to a
separate function, which we only call if it's available.

This means that by default the programme does nothing.

5 years agoMove some of the header parsing logic into functions.
Ralph Giles [Mon, 27 Aug 2012 22:44:49 +0000 (15:44 -0700)]
Move some of the header parsing logic into functions.

The code is a little cleaner now.

Also fixes a new warning created by the previous warning fix.

5 years agoCheck the return value of fwrite.
Ralph Giles [Fri, 24 Aug 2012 23:17:16 +0000 (16:17 -0700)]
Check the return value of fwrite.

Fixes a gcc warning.

5 years agoDon't set eos on data packets.
Ralph Giles [Thu, 23 Aug 2012 22:54:14 +0000 (15:54 -0700)]
Don't set eos on data packets.

Without this silly error, opusdec can play our output.

5 years agoPrint each header on one line.
Ralph Giles [Thu, 23 Aug 2012 00:21:57 +0000 (17:21 -0700)]
Print each header on one line.

This makes the capture output a little less verbose
so it's easier to read. Also corrects the rtp payload
length (the udp header's size includes the udp header
bytes) and removes a redundant check for payload type

5 years agoFix prototype warnings.
Ralph Giles [Thu, 23 Aug 2012 00:21:03 +0000 (17:21 -0700)]
Fix prototype warnings.

Need to declare no arguments as func(void), not func().

5 years agoAdd build support for opusrtp.c.
Ralph Giles [Wed, 22 Aug 2012 22:55:23 +0000 (15:55 -0700)]
Add build support for opusrtp.c.

Detect libpcap and add it to the link line.

We should disable the pcap support if libpcap isn't available,
but the source doesn't do this. Instead it will fail to compile.

5 years agoRemove --speech and --music arguments from opusenc.
Gregory Maxwell [Sun, 19 Aug 2012 20:13:51 +0000 (16:13 -0400)]
Remove --speech and --music arguments from opusenc.

All these options do is bias the automatic mode selection in libopus,
but it seems that many people believe they select between LP and
MDCT modes, and it's very hard to convince them otherwise. As is they
aren't very useful, and they're creating a lot of confusion which
is distracting people from actually useful testing.

5 years agoReport only the RTP header fields.
Ralph Giles [Fri, 17 Aug 2012 00:34:09 +0000 (17:34 -0700)]
Report only the RTP header fields.

5 years agoAbstract some of the header parsing on the captured packets.
Ralph Giles [Fri, 17 Aug 2012 00:31:02 +0000 (17:31 -0700)]
Abstract some of the header parsing on the captured packets.

5 years agoHacky tool to sniff rtp traffic and write it to a file.
Ralph Giles [Sat, 11 Aug 2012 00:16:07 +0000 (17:16 -0700)]
Hacky tool to sniff rtp traffic and write it to a file.

I wrote this for debugging, but hopefully it can grow into
a general opus rtp example, without pcap.

5 years agoAvoid shadowing global symbol 'signal' on OSX.
Gregory Maxwell [Thu, 9 Aug 2012 14:53:00 +0000 (10:53 -0400)]
Avoid shadowing global symbol 'signal' on OSX.

On MacOS, stdlib.h ends up including sys/signal.h, generating
warnings about the local variables called 'signal' shadowing
the global symbol signal(3). So we avoid using that variable

5 years agoAdd MSVC makefiles to the dist tarball.
Gregory Maxwell [Thu, 9 Aug 2012 11:36:06 +0000 (07:36 -0400)]
Add MSVC makefiles to the dist tarball.