text: /*
   * Copyright (C) 2017 The Android Open Source Project
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  // Try to create a resource leak in the server by opening a stream and then not closing it.
  // Return 0 if the stream opened, 1 if it failed.
  
  #include <stdio.h>
  #include <stdlib.h>
  #include <aaudio/AAudio.h>
  
  int main(int argc, char **argv)
  {
      (void)argc; // unused
      (void)argv; // unused
  
      aaudio_result_t result = AAUDIO_OK;
      AAudioStreamBuilder *aaudioBuilder = nullptr;
      AAudioStream *aaudioStream = nullptr;
  
      result = AAudio_createStreamBuilder(&aaudioBuilder);
      if (result != AAUDIO_OK) {
          goto finish;
      }
  
      // Create an AAudioStream using the Builder.
      result = AAudioStreamBuilder_openStream(aaudioBuilder, &aaudioStream);
      if (result != AAUDIO_OK) {
          printf("ERROR could not open AAudio stream, %d\n", result);
          goto finish;
      } else {
          printf("AAudio stream opened successfully.\n");
      }
  
      printf("Exit without closing the stream!\n");
  
  finish:
      return (result != AAUDIO_OK) ? EXIT_FAILURE : EXIT_SUCCESS;
  }
  
  