aboutsummaryrefslogtreecommitdiff
path: root/amf.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-12-20 05:09:26 +0800
committerMistivia <i@mistivia.com>2025-12-20 05:25:07 +0800
commit038c58b0ac053dbfe8aea3faab73863000d5fdc9 (patch)
tree5a7e477a5f75d76be7adc9dcaab82347bac82ae7 /amf.h
parentbb725cc3802b42992666e18d0758459e4332cdd7 (diff)
use srt instead of rtmp
Diffstat (limited to 'amf.h')
-rw-r--r--amf.h167
1 files changed, 0 insertions, 167 deletions
diff --git a/amf.h b/amf.h
deleted file mode 100644
index 6d5738e..0000000
--- a/amf.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/**
- * @file amf.h
- * @author Dean Zou (zoudingyuan@junjietech.com)
- * @brief
- * @version 1.0
- * @date 2019-06-27
- *
- * @copyright Copyright (c) - 2019 JunJie Intelligence(Shenzhen) Co.,LTD
- *
- */
-
-#ifndef AMF_H_
-#define AMF_H_
-
-#include <string>
-#include <map>
-#include <assert.h>
-
-enum AMFType {
- AMF_NUMBER,
- AMF_INTEGER,
- AMF_BOOLEAN,
- AMF_STRING,
- AMF_OBJECT,
- AMF_NULL,
- AMF_UNDEFINED,
- AMF_ECMA_ARRAY,
-};
-
-enum {
- AMF0_NUMBER,
- AMF0_BOOLEAN,
- AMF0_STRING,
- AMF0_OBJECT,
- AMF0_MOVIECLIP,
- AMF0_NULL,
- AMF0_UNDEFINED,
- AMF0_REFERENCE,
- AMF0_ECMA_ARRAY,
- AMF0_OBJECT_END,
- AMF0_STRICT_ARRAY,
- AMF0_DATE,
- AMF0_LONG_STRING,
- AMF0_UNSUPPORTED,
- AMF0_RECORD_SET,
- AMF0_XML_OBJECT,
- AMF0_TYPED_OBJECT,
- AMF0_SWITCH_AMF3,
-};
-
-enum {
- AMF3_UNDEFINED,
- AMF3_NULL,
- AMF3_FALSE,
- AMF3_TRUE,
- AMF3_INTEGER,
- AMF3_NUMBER,
- AMF3_STRING,
- AMF3_LEGACY_XML,
- AMF3_DATE,
- AMF3_ARRAY,
- AMF3_OBJECT,
- AMF3_XML,
- AMF3_BYTE_ARRAY,
-};
-
-struct Decoder {
- std::string buf;
- size_t pos;
- int version;
-};
-
-struct Encoder {
- std::string buf;
-};
-
-class AMFValue;
-
-typedef std::map<std::string, AMFValue> amf_object_t;
-
-class AMFValue {
-public:
- AMFValue(AMFType type = AMF_NULL);
- AMFValue(const std::string &s);
- AMFValue(double n);
- AMFValue(int i);
- AMFValue(bool b);
- AMFValue(const amf_object_t &object);
- AMFValue(const AMFValue &from);
- ~AMFValue();
-
- AMFType type() const { return m_type; }
-
- std::string as_string() const
- {
- assert(m_type == AMF_STRING);
- return *m_value.string;
- }
- double as_number() const
- {
- assert(m_type == AMF_NUMBER);
- return m_value.number;
- }
- double as_integer() const
- {
- assert(m_type == AMF_INTEGER);
- return m_value.integer;
- }
- bool as_boolean() const
- {
- assert(m_type == AMF_BOOLEAN);
- return m_value.boolean;
- }
- amf_object_t as_object() const
- {
- assert(m_type == AMF_OBJECT);
- return *m_value.object;
- }
-
- AMFValue get(const std::string &s) const
- {
- assert(m_type == AMF_OBJECT);
- amf_object_t::const_iterator i = m_value.object->find(s);
- if (i == m_value.object->end())
- return AMFValue();
- return i->second;
- }
-
- void set(const std::string &s, const AMFValue &val)
- {
- assert(m_type == AMF_OBJECT);
- m_value.object->insert(std::make_pair(s, val));
- }
-
- void operator = (const AMFValue &from);
-
-private:
- AMFType m_type;
- union {
- std::string *string;
- double number;
- int integer;
- bool boolean;
- amf_object_t *object;
- } m_value;
-
- void destroy();
-};
-
-void amf_write(Encoder *enc, const std::string &s);
-void amf_write(Encoder *enc, double n);
-void amf_write(Encoder *enc, bool b);
-void amf_write_key(Encoder *enc, const std::string &s);
-void amf_write(Encoder *enc, const amf_object_t &object);
-void amf_write_ecma(Encoder *enc, const amf_object_t &object);
-void amf_write_null(Encoder *enc);
-void amf_write(Encoder *enc, const AMFValue &value);
-
-std::string amf_load_string(Decoder *dec);
-double amf_load_number(Decoder *dec);
-bool amf_load_boolean(Decoder *dec);
-std::string amf_load_key(Decoder *dec);
-amf_object_t amf_load_object(Decoder *dec);
-amf_object_t amf_load_ecma(Decoder *dec);
-AMFValue amf_load(Decoder *dec);
-
-#endif