[Live-devel] SVC -> AVC

Sergey G. Kosov sergey.kosov at project-10.de
Tue Jul 12 15:15:01 PDT 2011


I tried to do as you advised me. When I just continue to read following
block, I get the error: "StreamPaercer internal error (149997 + 4) 150000)"
I looked the source codes of the StreamPaercer.cpp and as I understand there
is limited block of memory from which I could read.
I suspect that I have to quit the parse function before reading, or reset
this block somehow.

Please help me with a piece of advice.

-----Original Message-----
From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: Monday, July 11, 2011 11:13 PM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] SVC -> AVC

>		// 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 at lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel



More information about the live-devel mailing list