}
ret = open_and_update_audio_file(aft_row, score, &afd);
if (ret < 0) {
- PARA_ERROR_LOG("%s\n", para_strerror(-ret));
ret = score_delete(aft_row);
if (ret < 0) {
PARA_ERROR_LOG("%s\n", para_strerror(-ret));
err:
free(afd->afhi.chunk_table);
osl_close_disk_object(&chunk_table_obj);
+ if (ret < 0)
+ PARA_ERROR_LOG("%s: %s\n", path, para_strerror(-ret));
return ret;
}
N: grab
D: grab the audio stream
L:
-U: -- grab [-m[{s|p|a}]] [-p=<parent>] [-n=<name>] [-o]
+U: -- grab [-m[{s|p|a}]] [-p=PARENT] [-n=NAME] [-o]
H:
H: grab ('splice') the audio stream at any position in the buffer
H: tree and send that data back to the client.
H: the write, pedantic mode aborts and aggressive mode tries
H: to write anyway.
H:
-H: -p Grab output of node <parent> of the buffer tree.
+H: -p Grab output of node PARENT of the buffer tree.
H:
H: -n Name of the new buffer tree node. Defaults to 'grab'.
H:
struct task task;
/** Stdin is always the root of a buffer tree. */
struct btr_node *btrn;
- /* Use a buffer pool to minimize memcpy due to alignment problems. */
+ /** Use a buffer pool to minimize memcpy due to alignment problems. */
struct btr_pool *btrp;
};