1
zhanghua
2024-12-20 2078aee230bc109d66da296da8b7f24377befa1b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.dahua.netsdk.lib.callback.impl;
 
import com.dahua.netsdk.lib.NetSDKLib;
import com.dahua.netsdk.lib.enumeration.EM_REAL_DATA_TYPE;
import com.sun.jna.Pointer;
 
/**
 * @author 47081
 * @version 1.0
 * @description 拉流回调函数
 * @date 2021/3/2
 */
public class DefaultRealPlayCallback implements NetSDKLib.fRealDataCallBackEx2 {
  private static DefaultRealPlayCallback instance;
 
  private DefaultRealPlayCallback() {}
 
  public static DefaultRealPlayCallback getInstance() {
    if (instance == null) {
      instance = new DefaultRealPlayCallback();
    }
    return instance;
  }
 
  @Override
  public void invoke(
      NetSDKLib.LLong lRealHandle,
      int dwDataType,
      Pointer pBuffer,
      int dwBufSize,
      NetSDKLib.LLong param,
      Pointer dwUser) {
    // 私有流或mp4文件
    if (dwDataType == 0 || dwDataType == 1003) {
 
    } else {
      int dataType = dwDataType - 1000;
      // h264流
      if (dataType == 4) {
 
      } else if (dataType == 5) {
        // flv流
      }
    }
    if(dwDataType!=0){
      System.out.println("realHandler: "+lRealHandle.longValue()+",dwDataType: "+dwDataType+",bufSize: "+dwBufSize);
    }
  }
}