Based on Nekogram. Key additions: - Rebrand to FoxiGram (app name, APK name, applicationId com.foxigram.app) - Embedded Xray (VLESS+Reality) proxy client via JNI libxray.so - Bundled hidden one-tap proxies (LTE + WiFi), read-only in UI - Auto-restore proxy on restart, rebind to active network (LTE/WiFi) - Server credentials externalized to git-ignored XrayServers.java (+ template) - libxray Go source included; compiled .so, keystore, google-services.json ignored
51 lines
998 B
Text
51 lines
998 B
Text
//
|
|
// libtgvoip is free and unencumbered public domain software.
|
|
// For more information, see http://unlicense.org or the UNLICENSE file
|
|
// you should have received with this source code distribution.
|
|
//
|
|
|
|
#import "TGVVideoSource.h"
|
|
#include "VideoToolboxEncoderSource.h"
|
|
|
|
@implementation TGVVideoSource{
|
|
tgvoip::video::VideoToolboxEncoderSource* nativeSource;
|
|
id<TGVVideoSourceDelegate> delegate;
|
|
}
|
|
|
|
|
|
- (instancetype)initWithDelegate: (id<TGVVideoSourceDelegate>)delegate{
|
|
self=[super init];
|
|
nativeSource=new tgvoip::video::VideoToolboxEncoderSource();
|
|
self->delegate=delegate;
|
|
return self;
|
|
}
|
|
|
|
- (void)dealloc{
|
|
delete nativeSource;
|
|
}
|
|
|
|
- (void)sendVideoFrame: (CMSampleBufferRef)buffer{
|
|
nativeSource->EncodeFrame(buffer);
|
|
}
|
|
|
|
- (TGVVideoResolution)maximumSupportedVideoResolution{
|
|
return TGVVideoResolution1080;
|
|
}
|
|
|
|
- (void)setVideoRotation: (int)rotation{
|
|
|
|
}
|
|
|
|
- (void)pauseStream{
|
|
|
|
}
|
|
|
|
- (void)resumeStream{
|
|
|
|
}
|
|
|
|
- (tgvoip::video::VideoSource*)nativeVideoSource{
|
|
return nativeSource;
|
|
}
|
|
|
|
@end
|