Jump to content

loki5100

Members
  • Content Count

    8
  • Joined

  • Last visited

Posts posted by loki5100


  1. Hi I have EXACTLY the same problem 😞 I use also a macOS virtual machine and the connection between Delphi and PAServer is very very slow exactly like you. I even try to reinstall the macos from scratch, nothing change. but on some other macos computer it's work fine. I quite sure the problem is located in PAServer

    I have just created this jira : https://quality.embarcadero.com/browse/RSP-41260 please add a note to show that it's not only connected to me

     

    • Like 1

  2. I have just made the AndroidMerger Tool: Integrate AAR SDK in FMX Android app

    An Android library, also called as Android Archive, includes everything you need to build an app like source files, resource files, manifest etc. This is the reason why AARs are different from JARs. AARs can contain resource files as well other than compiled byte code.
    Adding such library to Delphi project is long and convoluted process consisting of extracting resources from library, manually adding them to Delphi deployment files, compiling R.Java class, checking dependancies, etc.

    With AndroidMerger all of the above can now be done automatically in a single command line. In brief AndroidMerger will:

    • Use graddle or internal implementation to list all dependencies.
    • Download libraries and dependancies from local or central maven repository.
    • Merge the resources of all AARs inside a single directory.
    • Merge the AndroidManifest files of all AARs inside AndroidManifest.template.xml.
    • Merge google-services.json in the resources of the project.
    • Create the R.jar with all resource IDs using aapt or aapt2.
    • Update the project file (.dproj) to include all resources.
    • Generate the Delphi native bridge file from the Java libraries.


    Everything is here (source code included) : https://github.com/MagicFoundation/Alcinoe/tree/master/Tools/AndroidMerger

    • Like 1

  3. Right now you can not handle universal link in ios APP, embarcadero need to implement 

    func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool



     


  4. In Objective-c header I have this :

    - (void)offerForConstraints:(RTCMediaConstraints *)constraints
              completionHandler:(nullable void (^)(RTCSessionDescription *_Nullable sdp,
                                                   NSError *_Nullable error))completionHandler;

    That I translate like this:

    type
    
      TWebRTCPeerConnectionOfferForConstraintsCompletionHandler = 
        procedure(sdp: RTCSessionDescription; error: NSError) of object;
    
    procedure offerForConstraints(
      constraints: RTCMediaConstraints; 
      completionHandler: TWebRTCPeerConnectionOfferForConstraintsCompletionHandler); cdecl;

    But every time I call offerForConstraints I Have :

    Access violation at address 0000000183398910, accessing address 0000000EBA24BEB8

    Any idea what going wrong?


  5. Thanks, Dalija, however, I m not sure I can use this to draw my YUV frame to a Canvas 😞 

     

    In Delphi, we have this, but I didn't find a way to make it work 😞

    procedure TCustomContextOpenGL.DoSetShaderVariable(const Name: string; const Texture: TTexture);
    var
      Variable: TContextShaderVariable;
    begin
      if Valid then
      begin
        if FCurrentProgram <> nil then
        begin
          if FCurrentProgram.Variables.TryGetValue(Name, Variable) then
          begin
            glActiveTexture(GL_TEXTURE0 + Variable.TextureUnit);
    
            if Texture = nil then
              glBindTexture(GL_TEXTURE_2D, 0)
            else
              glBindTexture(GL_TEXTURE_2D, Texture.Handle);
    
            glUniform1i(Variable.Index, Variable.TextureUnit);
            glActiveTexture(GL_TEXTURE0);
          end;
        end;
        if GLHasAnyErrors then
          RaiseContextExceptionFmt(@SCannotFindShaderVariable, [Name]);
      end;
    end;

  6. As far as I Know, YUV texture is a composition of 2 textures (the Y and the UV). Those 2 textures must be drawn on the canvas using a shader like this one :

    #version 100
        precision mediump float;
    
        varying vec2 vUV;
        uniform sampler2D SamplerY;
        uniform sampler2D SamplerUV;
    
        void main() {
    
            mediump vec3 yuv;
            lowp vec3 rgb;
    
            yuv.x = texture2D(SamplerY, vUV).r;
            yuv.yz = texture2D(SamplerUV, vUV).rg - vec2(0.5, 0.5);
    
            // Using BT.709 which is the standard for HDTV
            rgb = mat3(      1,       1,      1,
                             0, -.18732, 1.8556,
                       1.57481, -.46813,      0) * yuv;
    
            gl_FragColor = vec4(rgb, 1);
        } 

    I know how to use a shader with one texture (for example overridden TFilterBaseFilter), however, I don't know how I can use a shader with 2 textures in parameters (finality is to draw my YUV texture on a canvas)

×