Add FLV file output code

This doesn't add FLV file output to the user interface yet, but we'll
get around to that eventually.  This just adds an FLV output type.

Also, removed ftello/fseeko because off_t is a really annoying data
type, and I'd rather have a firm int64_t for large sizes, so I named it
to os_fseeki64 and os_ftelli64 instead, and changed the file size
function to return an int64_t.
This commit is contained in:
jp9000
2014-05-16 00:18:23 -07:00
parent 7efecf648b
commit 1d2e5d50a4
10 changed files with 294 additions and 52 deletions

View File

@@ -19,6 +19,16 @@
#include <obs.h>
extern void flv_meta_data(obs_output_t context, uint8_t **output, size_t *size);
#define MILLISECOND_DEN 1000
static uint32_t get_ms_time(struct encoder_packet *packet, int64_t val)
{
return (uint32_t)(val * MILLISECOND_DEN / packet->timebase_den);
}
extern void write_file_info(FILE *file, int64_t duration_ms, int64_t size);
extern void flv_meta_data(obs_output_t context, uint8_t **output, size_t *size,
bool write_header);
extern void flv_packet_mux(struct encoder_packet *packet,
uint8_t **output, size_t *size, bool is_header);