summaryrefslogtreecommitdiff
path: root/sdl_android/src/main/java/com/smartdevicelink/proxy/rpc/VideoStreamingFormat.java
blob: be4d1888c5e12614407e47b6040550d177b39703 (plain)
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
50
51
52
53
54
package com.smartdevicelink.proxy.rpc;

import android.support.annotation.NonNull;

import com.smartdevicelink.proxy.RPCStruct;
import com.smartdevicelink.proxy.rpc.enums.VideoStreamingCodec;
import com.smartdevicelink.proxy.rpc.enums.VideoStreamingProtocol;

import java.util.Hashtable;

/**
 * Video streaming formats and their specifications.
 */

public class VideoStreamingFormat extends RPCStruct {
	public static final String KEY_PROTOCOL = "protocol";
	public static final String KEY_CODEC = "codec";

	public VideoStreamingFormat(){}
	public VideoStreamingFormat(Hashtable<String, Object> hash){super(hash);}

	/**
	 * Create the VideoStreamingFormat object
	 * @param codec The codec used
	 * @param protocol The protocol used
	 */
	public VideoStreamingFormat(@NonNull VideoStreamingCodec codec, @NonNull VideoStreamingProtocol protocol){
		this();
		setCodec(codec);
		setProtocol(protocol);
	}

	public void setProtocol(@NonNull VideoStreamingProtocol protocol){
		setValue(KEY_PROTOCOL, protocol);
	}

	public VideoStreamingProtocol getProtocol(){
		return (VideoStreamingProtocol) getObject(VideoStreamingProtocol.class, KEY_PROTOCOL);
	}

	public void setCodec(@NonNull VideoStreamingCodec codec){
		setValue(KEY_CODEC, codec);
	}

	public VideoStreamingCodec getCodec(){
		return (VideoStreamingCodec) getObject(VideoStreamingCodec.class, KEY_CODEC);
	}

	@Override
	public String toString() {
		return "codec=" + String.valueOf(getCodec()) +
				", protocol=" + String.valueOf(getProtocol());
	}
}