// 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

Reply via email to