winlin

refine params nameing and SrsStream.

@@ -252,7 +252,7 @@ int SrsFileReader::read(void* buf, size_t count, ssize_t* pnread) @@ -252,7 +252,7 @@ int SrsFileReader::read(void* buf, size_t count, ssize_t* pnread)
252 // TODO: FIXME: use st_read. 252 // TODO: FIXME: use st_read.
253 if ((nread = ::read(fd, buf, count)) < 0) { 253 if ((nread = ::read(fd, buf, count)) < 0) {
254 ret = ERROR_SYSTEM_FILE_READ; 254 ret = ERROR_SYSTEM_FILE_READ;
255 - srs_error("read from file %s failed. ret=%d", _file.c_str(), ret); 255 + srs_error("read from file %s failed. ret=%d", path.c_str(), ret);
256 return ret; 256 return ret;
257 } 257 }
258 258
@@ -40,7 +40,7 @@ using namespace std; @@ -40,7 +40,7 @@ using namespace std;
40 40
41 SrsMp3Encoder::SrsMp3Encoder() 41 SrsMp3Encoder::SrsMp3Encoder()
42 { 42 {
43 - _fs = NULL; 43 + writer = NULL;
44 tag_stream = new SrsStream(); 44 tag_stream = new SrsStream();
45 } 45 }
46 46
@@ -49,19 +49,19 @@ SrsMp3Encoder::~SrsMp3Encoder() @@ -49,19 +49,19 @@ SrsMp3Encoder::~SrsMp3Encoder()
49 srs_freep(tag_stream); 49 srs_freep(tag_stream);
50 } 50 }
51 51
52 -int SrsMp3Encoder::initialize(SrsFileWriter* fs) 52 +int SrsMp3Encoder::initialize(SrsFileWriter* fw)
53 { 53 {
54 int ret = ERROR_SUCCESS; 54 int ret = ERROR_SUCCESS;
55 55
56 - srs_assert(fs); 56 + srs_assert(fw);
57 57
58 - if (!fs->is_open()) { 58 + if (!fw->is_open()) {
59 ret = ERROR_KERNEL_MP3_STREAM_CLOSED; 59 ret = ERROR_KERNEL_MP3_STREAM_CLOSED;
60 srs_warn("stream is not open for encoder. ret=%d", ret); 60 srs_warn("stream is not open for encoder. ret=%d", ret);
61 return ret; 61 return ret;
62 } 62 }
63 63
64 - _fs = fs; 64 + writer = fw;
65 65
66 return ret; 66 return ret;
67 } 67 }
@@ -78,7 +78,7 @@ int SrsMp3Encoder::write_header() @@ -78,7 +78,7 @@ int SrsMp3Encoder::write_header()
78 (char)0x00, (char)0x00, (char)0x00, (char)0x00, // FrameSize 78 (char)0x00, (char)0x00, (char)0x00, (char)0x00, // FrameSize
79 (char)0x00, (char)0x00 // Flags 79 (char)0x00, (char)0x00 // Flags
80 }; 80 };
81 - return _fs->write(id3, sizeof(id3), NULL); 81 + return writer->write(id3, sizeof(id3), NULL);
82 } 82 }
83 83
84 int SrsMp3Encoder::write_audio(int64_t timestamp, char* data, int size) 84 int SrsMp3Encoder::write_audio(int64_t timestamp, char* data, int size)
@@ -122,6 +122,6 @@ int SrsMp3Encoder::write_audio(int64_t timestamp, char* data, int size) @@ -122,6 +122,6 @@ int SrsMp3Encoder::write_audio(int64_t timestamp, char* data, int size)
122 return ret; 122 return ret;
123 } 123 }
124 124
125 - return _fs->write(data + stream->pos(), size - stream->pos(), NULL); 125 + return writer->write(data + stream->pos(), size - stream->pos(), NULL);
126 } 126 }
127 127
@@ -33,7 +33,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -33,7 +33,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
33 33
34 class SrsStream; 34 class SrsStream;
35 class SrsFileWriter; 35 class SrsFileWriter;
36 -class SrsFileReader;  
37 36
38 /** 37 /**
39 * encode data to aac file. 38 * encode data to aac file.
@@ -41,7 +40,7 @@ class SrsFileReader; @@ -41,7 +40,7 @@ class SrsFileReader;
41 class SrsMp3Encoder 40 class SrsMp3Encoder
42 { 41 {
43 private: 42 private:
44 - SrsFileWriter* _fs; 43 + SrsFileWriter* writer;
45 private: 44 private:
46 SrsStream* tag_stream; 45 SrsStream* tag_stream;
47 public: 46 public:
@@ -51,9 +50,9 @@ public: @@ -51,9 +50,9 @@ public:
51 /** 50 /**
52 * initialize the underlayer file stream. 51 * initialize the underlayer file stream.
53 * @remark user can initialize multiple times to encode multiple mp3 files. 52 * @remark user can initialize multiple times to encode multiple mp3 files.
54 - * @remark, user must free the fs, mp3 encoder never close/free it. 53 + * @remark, user must free the @param fw, mp3 encoder never close/free it.
55 */ 54 */
56 - virtual int initialize(SrsFileWriter* fs); 55 + virtual int initialize(SrsFileWriter* fw);
57 public: 56 public:
58 /** 57 /**
59 * write mp3 id3 v2.3 header. 58 * write mp3 id3 v2.3 header.
@@ -31,8 +31,8 @@ using namespace std; @@ -31,8 +31,8 @@ using namespace std;
31 31
32 SrsStream::SrsStream() 32 SrsStream::SrsStream()
33 { 33 {
34 - p = _bytes = NULL;  
35 - _size = 0; 34 + p = bytes = NULL;
  35 + nb_bytes = 0;
36 36
37 // TODO: support both little and big endian. 37 // TODO: support both little and big endian.
38 srs_assert(srs_is_little_endian()); 38 srs_assert(srs_is_little_endian());
@@ -42,24 +42,24 @@ SrsStream::~SrsStream() @@ -42,24 +42,24 @@ SrsStream::~SrsStream()
42 { 42 {
43 } 43 }
44 44
45 -int SrsStream::initialize(char* bytes, int size) 45 +int SrsStream::initialize(char* b, int nb)
46 { 46 {
47 int ret = ERROR_SUCCESS; 47 int ret = ERROR_SUCCESS;
48 48
49 - if (!bytes) { 49 + if (!b) {
50 ret = ERROR_KERNEL_STREAM_INIT; 50 ret = ERROR_KERNEL_STREAM_INIT;
51 srs_error("stream param bytes must not be NULL. ret=%d", ret); 51 srs_error("stream param bytes must not be NULL. ret=%d", ret);
52 return ret; 52 return ret;
53 } 53 }
54 54
55 - if (size <= 0) { 55 + if (nb <= 0) {
56 ret = ERROR_KERNEL_STREAM_INIT; 56 ret = ERROR_KERNEL_STREAM_INIT;
57 srs_error("stream param size must be positive. ret=%d", ret); 57 srs_error("stream param size must be positive. ret=%d", ret);
58 return ret; 58 return ret;
59 } 59 }
60 60
61 - _size = size;  
62 - p = _bytes = bytes; 61 + nb_bytes = nb;
  62 + p = bytes = b;
63 srs_info("init stream ok, size=%d", size); 63 srs_info("init stream ok, size=%d", size);
64 64
65 return ret; 65 return ret;
@@ -67,29 +67,29 @@ int SrsStream::initialize(char* bytes, int size) @@ -67,29 +67,29 @@ int SrsStream::initialize(char* bytes, int size)
67 67
68 char* SrsStream::data() 68 char* SrsStream::data()
69 { 69 {
70 - return _bytes; 70 + return bytes;
71 } 71 }
72 72
73 int SrsStream::size() 73 int SrsStream::size()
74 { 74 {
75 - return _size; 75 + return nb_bytes;
76 } 76 }
77 77
78 int SrsStream::pos() 78 int SrsStream::pos()
79 { 79 {
80 - return p - _bytes; 80 + return (int)(p - bytes);
81 } 81 }
82 82
83 bool SrsStream::empty() 83 bool SrsStream::empty()
84 { 84 {
85 - return !_bytes || (p >= _bytes + _size); 85 + return !bytes || (p >= bytes + nb_bytes);
86 } 86 }
87 87
88 bool SrsStream::require(int required_size) 88 bool SrsStream::require(int required_size)
89 { 89 {
90 srs_assert(required_size > 0); 90 srs_assert(required_size > 0);
91 91
92 - return required_size <= _size - (p - _bytes); 92 + return required_size <= nb_bytes - (p - bytes);
93 } 93 }
94 94
95 void SrsStream::skip(int size) 95 void SrsStream::skip(int size)
@@ -111,7 +111,7 @@ int16_t SrsStream::read_2bytes() @@ -111,7 +111,7 @@ int16_t SrsStream::read_2bytes()
111 srs_assert(require(2)); 111 srs_assert(require(2));
112 112
113 int16_t value; 113 int16_t value;
114 - pp = (char*)&value; 114 + char* pp = (char*)&value;
115 pp[1] = *p++; 115 pp[1] = *p++;
116 pp[0] = *p++; 116 pp[0] = *p++;
117 117
@@ -123,7 +123,7 @@ int32_t SrsStream::read_3bytes() @@ -123,7 +123,7 @@ int32_t SrsStream::read_3bytes()
123 srs_assert(require(3)); 123 srs_assert(require(3));
124 124
125 int32_t value = 0x00; 125 int32_t value = 0x00;
126 - pp = (char*)&value; 126 + char* pp = (char*)&value;
127 pp[2] = *p++; 127 pp[2] = *p++;
128 pp[1] = *p++; 128 pp[1] = *p++;
129 pp[0] = *p++; 129 pp[0] = *p++;
@@ -136,7 +136,7 @@ int32_t SrsStream::read_4bytes() @@ -136,7 +136,7 @@ int32_t SrsStream::read_4bytes()
136 srs_assert(require(4)); 136 srs_assert(require(4));
137 137
138 int32_t value; 138 int32_t value;
139 - pp = (char*)&value; 139 + char* pp = (char*)&value;
140 pp[3] = *p++; 140 pp[3] = *p++;
141 pp[2] = *p++; 141 pp[2] = *p++;
142 pp[1] = *p++; 142 pp[1] = *p++;
@@ -150,7 +150,7 @@ int64_t SrsStream::read_8bytes() @@ -150,7 +150,7 @@ int64_t SrsStream::read_8bytes()
150 srs_assert(require(8)); 150 srs_assert(require(8));
151 151
152 int64_t value; 152 int64_t value;
153 - pp = (char*)&value; 153 + char* pp = (char*)&value;
154 pp[7] = *p++; 154 pp[7] = *p++;
155 pp[6] = *p++; 155 pp[6] = *p++;
156 pp[5] = *p++; 156 pp[5] = *p++;
@@ -195,7 +195,7 @@ void SrsStream::write_2bytes(int16_t value) @@ -195,7 +195,7 @@ void SrsStream::write_2bytes(int16_t value)
195 { 195 {
196 srs_assert(require(2)); 196 srs_assert(require(2));
197 197
198 - pp = (char*)&value; 198 + char* pp = (char*)&value;
199 *p++ = pp[1]; 199 *p++ = pp[1];
200 *p++ = pp[0]; 200 *p++ = pp[0];
201 } 201 }
@@ -204,7 +204,7 @@ void SrsStream::write_4bytes(int32_t value) @@ -204,7 +204,7 @@ void SrsStream::write_4bytes(int32_t value)
204 { 204 {
205 srs_assert(require(4)); 205 srs_assert(require(4));
206 206
207 - pp = (char*)&value; 207 + char* pp = (char*)&value;
208 *p++ = pp[3]; 208 *p++ = pp[3];
209 *p++ = pp[2]; 209 *p++ = pp[2];
210 *p++ = pp[1]; 210 *p++ = pp[1];
@@ -215,7 +215,7 @@ void SrsStream::write_3bytes(int32_t value) @@ -215,7 +215,7 @@ void SrsStream::write_3bytes(int32_t value)
215 { 215 {
216 srs_assert(require(3)); 216 srs_assert(require(3));
217 217
218 - pp = (char*)&value; 218 + char* pp = (char*)&value;
219 *p++ = pp[2]; 219 *p++ = pp[2];
220 *p++ = pp[1]; 220 *p++ = pp[1];
221 *p++ = pp[0]; 221 *p++ = pp[0];
@@ -225,7 +225,7 @@ void SrsStream::write_8bytes(int64_t value) @@ -225,7 +225,7 @@ void SrsStream::write_8bytes(int64_t value)
225 { 225 {
226 srs_assert(require(8)); 226 srs_assert(require(8));
227 227
228 - pp = (char*)&value; 228 + char* pp = (char*)&value;
229 *p++ = pp[7]; 229 *p++ = pp[7];
230 *p++ = pp[6]; 230 *p++ = pp[6];
231 *p++ = pp[5]; 231 *p++ = pp[5];
@@ -238,7 +238,7 @@ void SrsStream::write_8bytes(int64_t value) @@ -238,7 +238,7 @@ void SrsStream::write_8bytes(int64_t value)
238 238
239 void SrsStream::write_string(string value) 239 void SrsStream::write_string(string value)
240 { 240 {
241 - srs_assert(require(value.length())); 241 + srs_assert(require((int)value.length()));
242 242
243 memcpy(p, value.data(), value.length()); 243 memcpy(p, value.data(), value.length());
244 p += value.length(); 244 p += value.length();
@@ -41,23 +41,25 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. @@ -41,23 +41,25 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
41 class SrsStream 41 class SrsStream
42 { 42 {
43 private: 43 private:
  44 + // current position at bytes.
44 char* p; 45 char* p;
45 - char* pp;  
46 - char* _bytes;  
47 - int _size; 46 + // the bytes data for stream to read or write.
  47 + char* bytes;
  48 + // the total number of bytes.
  49 + int nb_bytes;
48 public: 50 public:
49 SrsStream(); 51 SrsStream();
50 virtual ~SrsStream(); 52 virtual ~SrsStream();
51 public: 53 public:
52 /** 54 /**
53 * initialize the stream from bytes. 55 * initialize the stream from bytes.
54 - * @bytes, the bytes to convert from/to basic types.  
55 - * @size, the size of bytes. 56 + * @b, the bytes to convert from/to basic types.
  57 + * @nb, the size of bytes, total number of bytes for stream.
56 * @remark, stream never free the bytes, user must free it. 58 * @remark, stream never free the bytes, user must free it.
57 * @remark, return error when bytes NULL. 59 * @remark, return error when bytes NULL.
58 * @remark, return error when size is not positive. 60 * @remark, return error when size is not positive.
59 */ 61 */
60 - virtual int initialize(char* bytes, int size); 62 + virtual int initialize(char* b, int nb);
61 // get the status of stream 63 // get the status of stream
62 public: 64 public:
63 /** 65 /**
@@ -2697,11 +2697,11 @@ SrsTSMuxer::~SrsTSMuxer() @@ -2697,11 +2697,11 @@ SrsTSMuxer::~SrsTSMuxer()
2697 close(); 2697 close();
2698 } 2698 }
2699 2699
2700 -int SrsTSMuxer::open(string _path) 2700 +int SrsTSMuxer::open(string p)
2701 { 2701 {
2702 int ret = ERROR_SUCCESS; 2702 int ret = ERROR_SUCCESS;
2703 2703
2704 - path = _path; 2704 + path = p;
2705 2705
2706 close(); 2706 close();
2707 2707
@@ -3048,7 +3048,7 @@ int SrsTsCache::do_cache_avc(SrsAvcAacCodec* codec, SrsCodecSample* sample) @@ -3048,7 +3048,7 @@ int SrsTsCache::do_cache_avc(SrsAvcAacCodec* codec, SrsCodecSample* sample)
3048 3048
3049 SrsTsEncoder::SrsTsEncoder() 3049 SrsTsEncoder::SrsTsEncoder()
3050 { 3050 {
3051 - _fs = NULL; 3051 + writer = NULL;
3052 codec = new SrsAvcAacCodec(); 3052 codec = new SrsAvcAacCodec();
3053 sample = new SrsCodecSample(); 3053 sample = new SrsCodecSample();
3054 cache = new SrsTsCache(); 3054 cache = new SrsTsCache();
@@ -3065,22 +3065,22 @@ SrsTsEncoder::~SrsTsEncoder() @@ -3065,22 +3065,22 @@ SrsTsEncoder::~SrsTsEncoder()
3065 srs_freep(context); 3065 srs_freep(context);
3066 } 3066 }
3067 3067
3068 -int SrsTsEncoder::initialize(SrsFileWriter* fs) 3068 +int SrsTsEncoder::initialize(SrsFileWriter* fw)
3069 { 3069 {
3070 int ret = ERROR_SUCCESS; 3070 int ret = ERROR_SUCCESS;
3071 3071
3072 - srs_assert(fs); 3072 + srs_assert(fw);
3073 3073
3074 - if (!fs->is_open()) { 3074 + if (!fw->is_open()) {
3075 ret = ERROR_KERNEL_FLV_STREAM_CLOSED; 3075 ret = ERROR_KERNEL_FLV_STREAM_CLOSED;
3076 srs_warn("stream is not open for encoder. ret=%d", ret); 3076 srs_warn("stream is not open for encoder. ret=%d", ret);
3077 return ret; 3077 return ret;
3078 } 3078 }
3079 3079
3080 - _fs = fs; 3080 + writer = fw;
3081 3081
3082 srs_freep(muxer); 3082 srs_freep(muxer);
3083 - muxer = new SrsTSMuxer(fs, context, SrsCodecAudioAAC, SrsCodecVideoAVC); 3083 + muxer = new SrsTSMuxer(fw, context, SrsCodecAudioAAC, SrsCodecVideoAVC);
3084 3084
3085 if ((ret = muxer->open("")) != ERROR_SUCCESS) { 3085 if ((ret = muxer->open("")) != ERROR_SUCCESS) {
3086 return ret; 3086 return ret;
@@ -1560,9 +1560,10 @@ public: @@ -1560,9 +1560,10 @@ public:
1560 virtual ~SrsTSMuxer(); 1560 virtual ~SrsTSMuxer();
1561 public: 1561 public:
1562 /** 1562 /**
1563 - * open the writer, donot write the PSI of ts.  
1564 - */  
1565 - virtual int open(std::string _path); 1563 + * open the writer, donot write the PSI of ts.
  1564 + * @param p a string indicates the path of ts file to mux to.
  1565 + */
  1566 + virtual int open(std::string p);
1566 /** 1567 /**
1567 * when open ts, we donot write the header(PSI), 1568 * when open ts, we donot write the header(PSI),
1568 * for user may need to update the acodec to mp3 or others, 1569 * for user may need to update the acodec to mp3 or others,
@@ -1625,7 +1626,7 @@ private: @@ -1625,7 +1626,7 @@ private:
1625 class SrsTsEncoder 1626 class SrsTsEncoder
1626 { 1627 {
1627 private: 1628 private:
1628 - SrsFileWriter* _fs; 1629 + SrsFileWriter* writer;
1629 private: 1630 private:
1630 SrsAvcAacCodec* codec; 1631 SrsAvcAacCodec* codec;
1631 SrsCodecSample* sample; 1632 SrsCodecSample* sample;
@@ -1637,9 +1638,10 @@ public: @@ -1637,9 +1638,10 @@ public:
1637 virtual ~SrsTsEncoder(); 1638 virtual ~SrsTsEncoder();
1638 public: 1639 public:
1639 /** 1640 /**
1640 - * initialize the underlayer file stream.  
1641 - */  
1642 - virtual int initialize(SrsFileWriter* fs); 1641 + * initialize the underlayer file stream.
  1642 + * @param fw the writer to use for ts encoder, user must free it.
  1643 + */
  1644 + virtual int initialize(SrsFileWriter* fw);
1643 public: 1645 public:
1644 /** 1646 /**
1645 * write audio/video packet. 1647 * write audio/video packet.