[Live-devel] Error in ByteStreamMultiFileSource.cpp

Ross Finlayson finlayson at live555.com
Thu Feb 1 12:08:39 PST 2018


> On Feb 2, 2018, at 7:26 AM, Joshua Hitchen <Josh at metrosecurity.co.uk> wrote:
> 
> In the constructor for the ByteStreamMultiFileSource, to determine the number of sources you iterate fNumSources until the value pointed to by  fileNameArray[fNumSources] is NULL, but there is no guarantee that the stored value after the pointer to the final file name pointer in the array will be null.

Yes, there is such a guarantee - because that’s how the input to “ByteStreamMultiFileSource::createNew()" is *defined*.  See the comment at line 33 of “liveMedia/include/ByteStreamMultiFileSource.hh”:
	// A 'filename' of NULL indicates the end of the array

In other words, the input parameter “fileNameArray” is required to have a NULL at the end.


> Input File Names: 
> File Index 0: test 0.ext 
> File Index 1: test 1.ext
> File Index 2: test 2.ext
> File Index 3: test 3.ext
> Actual number of files: 4
> My Method result: 4
> ByteStreamMultiFileSource.cpp Method's result: 9  

This makes no sense.

There is no bug in the current code, so it will not be changed.  (In the next release of the code, I will, however, change the comments near the beginning of "include/ByteStreamMultiFileSource.hh” and “ByteStreamMultiFileSource.cpp” to explain even more clearly the requirements of the input “fileNameArray” parameter.)


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/




More information about the live-devel mailing list