// assert that we are on position where the NAL unit starts
(0x00000001)
u_int8_t *data = new u_int8_t[NAL_MAX_SIZE];
int n = 0;
for (int i = 0; i < 4; i++) data[n++] = get1Byte();
while (next4Bytes != 0x00000001) {
data[n++] = get1Byte();
next4Bytes = test4Bytes();
}
Then I analyse it with one function:
st_svcext_preview_info_t preview_info;
st_svcext_preview(handle, reinterpret_cast<char *>(data),
&preview_info);
And only then, depending on the "preview_info.action" I can decide if the
current NAL unit should be skipped or not.
As I understood, if the current NAL block should be skipped and I call
SkipBytes(n) - than the next n bytes will be skipped ? Or not ?
No. Because (in your code) you've already read the entire NAL unit
(via the calls to "get1Byte()"), you don't call "skipBytes()" at all.
Instead, just continue and read/analyze the next NAL unit.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel