Buffer should not be destroyed with the Source

Because a buffer can be used in more than one Source. Also checks if the buffer passed when creating the Source is null or incomplete.