Giter VIP home page Giter VIP logo

objctox's People

Contributors

chuongv avatar dmytrovorobiov-tomtom avatar dvor avatar stal888 avatar yandush avatar zoff99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

objctox's Issues

Demo for OSX

A demo for OSX is needed. This also provide us a a way to test audio and video later on

Make audio/video work on OS X

Platform dependent should be wrapped to

#if TARGET_OS_IPHONE
    // do iOS stuff
#else
    // do OS X stuff
#endif

However this should be avoid if possible. For example UIView can be replaced with OCTView, which would be typedef'd to UIView or NSView somewhere in the code.

Add additional mocking to OCTAudioEngine

Errors are shown when the AVAudioSession is not mocked as shown here https://travis-ci.org/Antidote-for-Tox/objcTox/builds/73986551

2015-08-04 01:06:05.281 xctest[25892:30839] 01:06:05.281 ERROR:     98: Error '!obj' trying to fetch default input device's sample rate
2015-08-04 01:06:05.283 xctest[25892:30839] 01:06:05.283 ERROR:     100: Error getting audio input device sample rate: '!obj'
2015-08-04 01:06:05.288 xctest[25892:30839] 01:06:05.288 WARNING:   230: The input device is 0x0; '(null)'
2015-08-04 01:06:05.288 xctest[25892:30839] 01:06:05.288 WARNING:   234: The output device is 0x0; '(null)'
2015-08-04 01:06:05.289 xctest[25892:30839] 01:06:05.289 ERROR:     400: error '!obj'
2015-08-04 01:06:05.290 xctest[25892:30841] 01:06:05.290 ERROR:     400: error -66680
2015-08-04 01:06:05.290 xctest[25892:30839] 01:06:05.290 ERROR:     400: error -66680
2015-08-04 01:06:05.290 xctest[25892:30841] 01:06:05.290 ERROR:     113: * * * NULL AQIONode object
2015-08-04 01:06:05.295 xctest[25892:30837] 01:06:05.295 ERROR:     >aurioc> 806: failed: -10851 (enable 3, outf< 1 ch,      0 Hz, Int16> inf< 1 ch,      0 Hz, Int16>)
2015-08-04 01:06:05.297 xctest[25892:30841] 01:06:05.297 ERROR:     703: Can't make UISound Renderer
2015-08-04 01:06:05.313 xctest[25892:30839] 01:06:05.313 ERROR:     400: error -66680
2015-08-04 01:06:05.314 xctest[25892:30839] 01:06:05.314 ERROR:     400: error -66680
2015-08-04 01:06:05.316 xctest[25892:30837] 01:06:05.316 ERROR:     >aurioc> 806: failed: -10851 (enable 3, outf< 1 ch,      0 Hz, Int16> inf< 1 ch,      0 Hz, Int16>)```

toxav_iteration_interval should be updated in OCTToxAV

Currently when OCTToxAV starts, we grab the toxav_interation_interval once and set the timer with that number. This is incorrect, the iteration interval should be updated at every toxav_iterate or when a at the very least when the call starts/ends, since the iteration interval is changed when going from (call <--> no call)

Allow playback of 1 channel

Currently if we receive an audio packet of 1 channel, our playback stream remains to play it as if it were 2.

The method below needs to be updated to check if the channel is a different format and update appropriately
- (void)provideAudioFrames:(OCTToxAVPCMData *)pcm sampleCount:(OCTToxAVSampleCount)sampleCount channels:(OCTToxAVChannels)channels sampleRate:(OCTToxAVSampleRate)sampleRate

Investigate OS X project on Xcode 7

vpx isn't building there

ld: in /Volumes/stal/objcTox/Pods/toxcore/vpx.framework/vpx(vpx_decoder.c.o), building for OSX, but linking in object file built for iOS, for architecture x86_64

Audio for mac/iphone becomes mute when starting Antidote

Steps to reproduce:

  1. Play music on iphone or mac.
  2. Start objcTox
  3. Music on iphone stops; sound on mac is muted.

You can also reproduce this when running the mac osx tests while you have sound playing.

This is caused by AUGraphOpen in the initialization of OCTAudioEngine. Possible solution is to only open it before making a call? And closing it after a call?

Nickname shouldn't be empty

  • user can delete nickname of friend or
  • friend can delete her own name

In that case friend's nickname should be set back to Tox ID

OCTFriend picking up wrong nickname

I notice occasionally that when a friend accepts a request, the friend will pick up a nickname of another user on the friends list.

Saw this before in the iOS demo and again in OSX demo

Speakerphone is default

The audio when starting a call is defaulted to the speaker. Sending routeAudioToSpeaker makes no change.

Bug: Delete friend not found, OSX

In OCTSubmanagerFriends, if a user tries to delete a friend and tox returns "Friend not found", objcTox should remove that friend from realm.

I am not sure how I was able to delete a tox friend without deleting it from realm in the first place. But it's present somehow.

Account for stride when capturing video

In (void)captureOutput:(AVCaptureOutput *)captureOutput didOutputSampleBuffer:(CMSampleBufferRef)sampleBuffer fromConnection:(AVCaptureConnection *)connection of OCTVideoEngine we are taking in the width and height of the planar data without accounting for the possibility of stride. See CVPixelBufferGetBytesPerRowOfPlane

The video sending looks fine as of right now, however if there is ever stride data, we will not be sending over the correct data.

Crash when loading bad profile

I have used 0.4.0 on my iPod touch 5th, I saved the .tox file in my Dropbox. When I click on select on the profiles page, it would crash, and crashes every time I open the app.

Probably tox save was outdated, need to investigate.

It seems that OCTTox couldn't create tox instance, dealloc method was called and app crashed on

void tox_kill(Tox *tox)
{
    Messenger *m = tox;
    kill_groupchats(m->group_chat_object); <<<<<<<<<<<<<
    kill_messenger(m);
    logger_kill_global();
}

Kill toxav before killing tox

Sometimes they are deallocated in the wrong order, causing a segfault when setting OCTManager to nil.

Reproduction steps:

  • Be in a call
  • Make OCTManager dealloc

Relevant log:

2016-01-01 13:53:17.634 Nao[58565:32508349] <OCTTox: 0x6000000400f0>: stop method called
2016-01-01 13:53:17.635 Nao[58565:32508349] <OCTTox: 0x6000000400f0>: stopped
2016-01-01 13:53:17.635 Nao[58565:32508349] <OCTTox: 0x6000000400f0>: stop method called
2016-01-01 13:53:17.635 Nao[58565:32508349] <OCTTox: 0x6000000400f0>: tox isn't running, nothing to stop
2016-01-01 13:53:17.635 Nao[58565:32508349] <OCTTox: 0x6000000400f0>: dealloc called, tox killed
2016-01-01 13:53:17.635 Nao[58565:32508349] OCTAudioQueue stop
2016-01-01 13:53:17.643 Nao[58565:32508349] Freed buffers
2016-01-01 13:53:17.644 Nao[58565:32508349] OCTAudioQueue stop
2016-01-01 13:53:17.648 Nao[58565:32508349] Freed buffers
2016-01-01 13:53:17.649 Nao[58565:32508349] <OCTToxAV: 0x610000046d20>: stop method called
2016-01-01 13:53:17.649 Nao[58565:32508349] <OCTToxAV: 0x610000046d20>: stopped

Call tox_iteration_interval at every tox_iterate

Similar issue to #113 instead with OCTTox.

Currently when OCTTox starts, we grab the tox_iteration_interval once and set the timer with that number. This is incorrect, the iteration interval should be updated at every tox_iterate

Allow user to pick either front or rear camera

Allow user to pick either front or rear camera during video calls. This should be implemented at OCTSubmanagerCalls and OCTVideoEngine.

Right now the default is the front facing camera.

Integrate latest master to audio branch

Integration should happen on getting-latest-changes-to-audio branch. I've already merged latest master there. All errors should be fixed and then getting-latest-changes-to-audio would be merged to audio.

List of changes:

  • toxcore-ios pod replaced with toxcore. As audio branch was using forked version of toxcore-ios, new fork of toxcore pointing to mannol's branch should be made.
  • objcToxDemo target renamed to iOSDemo. objcToxTests renamed to iOSDemoTests. There nothing should be done with that.
  • OS X target was added to project (see OSXDemo target). OSX target should build and tests should work there as well. Making audio/video work there is not part of this issue, see #120

Fix tests

Did $ xctool -workspace objcTox.xcworkspace -scheme iOSDemo -sdk iphonesimulator CODE_SIGNING_REQUIRED=NO GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES clean test

But got one error:
Unable to read build settings for target 'iOSDemoTests'. It's likely that the scheme references a non-existent target.

xcodebuild: error: The test action requires that the name of a scheme in the project is provided using the "-scheme" option. The "-list" option can be used to find the names of the schemes in the project.

However all tests pass when running them in xcode

OCTCall refactoring

To be consistent with other classes it would be nice to

  • rename callDuration to callDurationInterval
  • add - (NSDate *)callDuration; method.

See OCTMessageAbstract as an example.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.