Skip to content

Commit

Permalink
Update to split audio/video bit rate setter functions.
Browse files Browse the repository at this point in the history
Introduced in TokTok/c-toxcore#578.
  • Loading branch information
iphydf committed Jan 26, 2018
1 parent 0ccc943 commit fcb0f6a
Show file tree
Hide file tree
Showing 7 changed files with 43 additions and 15 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Expand Up @@ -45,6 +45,7 @@ matrix:

install:
- test -f _install/host/protobuf.stamp || scripts/build-host -j$(nproc || sysctl -n hw.ncpu) $PWD/_install/host/protobuf.stamp
- if [ -e _git/toxcore ]; then (cd _git/toxcore && git pull); fi

script:
- scripts/build-$TARGET -j$(nproc || sysctl -n hw.ncpu) $GOAL
Expand Down
23 changes: 18 additions & 5 deletions cpp/src/ToxAv/av.cpp
Expand Up @@ -85,14 +85,27 @@ TOX_METHOD (void, CallControl,

/*
* Class: im_tox_tox4j_impl_ToxAvJni
* Method: toxavBitRateSet
* Signature: (IIII)V
* Method: toxavBitRateSetAudio
* Signature: (III)V
*/
TOX_METHOD (void, BitRateSet,
jint instanceNumber, jint friendNumber, jint audioBitRate, jint videoBitRate)
TOX_METHOD (void, BitRateSetAudio,
jint instanceNumber, jint friendNumber, jint audioBitRate)
{
return instances.with_instance_ign (env, instanceNumber,
toxav_bit_rate_set_audio, friendNumber, audioBitRate
);
}

/*
* Class: im_tox_tox4j_impl_ToxAvJni
* Method: toxavBitRateSetVideo
* Signature: (III)V
*/
TOX_METHOD (void, BitRateSetVideo,
jint instanceNumber, jint friendNumber, jint videoBitRate)
{
return instances.with_instance_ign (env, instanceNumber,
toxav_bit_rate_set, friendNumber, audioBitRate, videoBitRate
toxav_bit_rate_set_video, friendNumber, videoBitRate
);
}

Expand Down
3 changes: 1 addition & 2 deletions cpp/src/ToxAv/generated/errors.cpp
Expand Up @@ -21,8 +21,7 @@ HANDLE ("BitRateSet", BIT_RATE_SET)
success_case (BIT_RATE_SET);
failure_case (BIT_RATE_SET, FRIEND_NOT_FOUND);
failure_case (BIT_RATE_SET, FRIEND_NOT_IN_CALL);
failure_case (BIT_RATE_SET, INVALID_AUDIO_BIT_RATE);
failure_case (BIT_RATE_SET, INVALID_VIDEO_BIT_RATE);
failure_case (BIT_RATE_SET, INVALID_BIT_RATE);
failure_case (BIT_RATE_SET, SYNC);
}
return unhandled ();
Expand Down
14 changes: 11 additions & 3 deletions cpp/src/ToxAv/generated/im_tox_tox4j_impl_jni_ToxAvJni.h

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 4 additions & 2 deletions cpp/src/ToxAv/generated/natives.h
Expand Up @@ -3,8 +3,10 @@ JAVA_METHOD_REF (toxavAnswer)
CXX_FUNCTION_REF (toxav_answer)
JAVA_METHOD_REF (toxavAudioSendFrame)
CXX_FUNCTION_REF (toxav_audio_send_frame)
JAVA_METHOD_REF (toxavBitRateSet)
CXX_FUNCTION_REF (toxav_bit_rate_set)
JAVA_METHOD_REF (toxavBitRateSetAudio)
CXX_FUNCTION_REF (toxav_bit_rate_set_audio)
JAVA_METHOD_REF (toxavBitRateSetVideo)
CXX_FUNCTION_REF (toxav_bit_rate_set_video)
JAVA_METHOD_REF (toxavCall)
CXX_FUNCTION_REF (toxav_call)
JAVA_METHOD_REF (toxavCallControl)
Expand Down
8 changes: 6 additions & 2 deletions src/main/java/im/tox/tox4j/impl/jni/ToxAvImpl.scala
Expand Up @@ -77,8 +77,12 @@ final class ToxAvImpl(@NotNull private val tox: ToxCoreImpl) extends ToxAv {
ToxAvJni.toxavCallControl(instanceNumber, friendNumber.value, control.ordinal)

@throws[ToxavBitRateSetException]
override def setBitRate(friendNumber: ToxFriendNumber, audioBitRate: BitRate, videoBitRate: BitRate): Unit =
ToxAvJni.toxavBitRateSet(instanceNumber, friendNumber.value, audioBitRate.value, videoBitRate.value)
override def setBitRateAudio(friendNumber: ToxFriendNumber, audioBitRate: BitRate): Unit =
ToxAvJni.toxavBitRateSetAudio(instanceNumber, friendNumber.value, audioBitRate.value)

@throws[ToxavBitRateSetException]
override def setBitRateVideo(friendNumber: ToxFriendNumber, videoBitRate: BitRate): Unit =
ToxAvJni.toxavBitRateSetVideo(instanceNumber, friendNumber.value, videoBitRate.value)

@throws[ToxavSendFrameException]
override def audioSendFrame(
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/im/tox/tox4j/impl/jni/ToxAvJni.java
Expand Up @@ -20,7 +20,8 @@ public final class ToxAvJni {
static native void toxavCall(int instanceNumber, int friendNumber, int audioBitRate, int videoBitRate) throws ToxavCallException;
static native void toxavAnswer(int instanceNumber, int friendNumber, int audioBitRate, int videoBitRate) throws ToxavAnswerException;
static native void toxavCallControl(int instanceNumber, int friendNumber, int control) throws ToxavCallControlException;
static native void toxavBitRateSet(int instanceNumber, int friendNumber, int audioBitRate, int videoBitRate) throws ToxavBitRateSetException;
static native void toxavBitRateSetAudio(int instanceNumber, int friendNumber, int audioBitRate) throws ToxavBitRateSetException;
static native void toxavBitRateSetVideo(int instanceNumber, int friendNumber, int videoBitRate) throws ToxavBitRateSetException;

static native void toxavAudioSendFrame(
int instanceNumber,
Expand Down

0 comments on commit fcb0f6a

Please sign in to comment.