Commit Graph

428 Commits

Author SHA1 Message Date
Aurelien Jacobs
00dc0206cb matroskaenc: make sure we don't produce invalid file with no codec ID
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
2011-03-24 01:56:26 +01:00
Aurelien Jacobs
75f4d1fadf matroskaenc: add missing new line in av_log() call
Signed-off-by: Aurelien Jacobs <aurel@gnuage.org>
2011-03-24 01:54:15 +01:00
Anton Khirnov
264935c962 matroskaenc: remove a variable that's unused after bc17bd9.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-23 09:01:49 -04:00
Anton Khirnov
bc17bd90f5 matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config
This also fixes broken SBR detection, which produced files with double
sample rate since 8ae0fa2.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-22 21:39:14 -04:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
b7f2fdde74 avio: rename put_flush_packet -> avio_flush
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:59:39 -04:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
77eb5504d3 avio: avio: avio_ prefixes for put_* functions
In the name of consistency:
put_byte           -> avio_w8
put_<type>         -> avio_w<type>
put_buffer         -> avio_write

put_nbyte will be made private
put_tag will be merged with avio_put_str

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 14:25:15 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Reinhard Tartler
737eb5976f Merge libavcore into libavutil
It is pretty hopeless that other considerable projects will adopt
libavutil alone in other projects. Projects that need small footprint
are better off with more specialized libraries such as gnulib or rather
just copy the necessary parts that they need. With this in mind, nobody
is helped by having libavutil and libavcore split. In order to ease
maintenance inside and around FFmpeg and to reduce confusion where to
put common code, avcore's functionality is merged (back) to avutil.

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
2011-02-15 16:18:21 +01:00
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Anton Khirnov
eaa4542b64 matroskaenc: don't duplicate title information
Title is already written into special fields designated for it --
per-segment Title, per-chapter ChapString and per-stream Name (yay for
consistent naming). Therefore, don't duplicate it in Tags.

Originally committed as revision 25813 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-23 08:24:41 +00:00
Stefano Sabatini
ba7d6e798e Remove usage of deprecated libavcodec/audioconvert.h functions.
Originally committed as revision 25668 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-11-03 20:19:34 +00:00
Anton Khirnov
03700d399b Export metadata in the generic format. Deprecate old conversion API.
patch by Anton Khirnov  anton _at_ khirnov _dot_ net

Originally committed as revision 25493 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-15 19:04:25 +00:00
Anton Khirnov
9b75309c19 matroskaenc: write metadata
patch by Anton Khirnov   anton _at_ khirnov _dot_ net

Originally committed as revision 25341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-05 09:40:43 +00:00
Aurelien Jacobs
2701fd40f9 matroskaenc: add support for muxing SRT tracks
Originally committed as revision 24503 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-25 21:16:58 +00:00
Aurelien Jacobs
d00a351606 matroskaenc: write DisplayUnit element to better match the spec
This makes it clear that we are specifying the aspect ratio, and not
the intended display size in pixels.

Originally committed as revision 24239 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-14 19:36:14 +00:00
Måns Rullgård
49bd8e4b84 Fix grammar errors in documentation
Originally committed as revision 23904 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 15:38:06 +00:00
Måns Rullgård
5150dd532b matroska: move LFG state from muxer context to local variable
The LFG is only used in one place, so there is no need to keep it in
the context.

Originally committed as revision 23527 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-08 10:44:27 +00:00
David Conrad
e7ddafd515 matroskaenc: Don't write a second seekhead for the clusters; mkvalidate agrees
with me that it's unnecessary.

Originally committed as revision 23478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:11 +00:00
David Conrad
d06735a34a matroskaenc: Check that tracks was allocated
Originally committed as revision 23477 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:06 +00:00
David Conrad
1f4280e744 matroskaenc: Use av_get_random_seed -> lfg for segment UID
Originally committed as revision 23476 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:41:03 +00:00
David Conrad
4a6bef1f36 matroskaenc: Make put_ebml_binary take a void pointer
Originally committed as revision 23475 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:58 +00:00
James Zern
316d6c153c Add WebM muxer
Patch by James Zern <jzern at google>

Originally committed as revision 23474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:54 +00:00
James Zern
ac9baa716b matroskaenc: Mux clusters better
Start them on keyframes when reasonable, and delay writing audio packets
to help ensure that there's audio samples available for the first frame in
clusters.

Patch by James Zern <jzern at google>

Originally committed as revision 23473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-04 22:40:50 +00:00
David Conrad
7bb83d8ddf matroskaenc: Write codec time base as default duration for video tracks.
This isn't exactly semantically equivalent, but the field has already been
long abused to mean this, and writing it helps in determining a decent cfr
time base when transcoding from a mkv where the video codec stores none (VP8).

Originally committed as revision 23284 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-24 08:58:19 +00:00
David Conrad
577abedb39 matroskaenc: Don't write track timecode scale
It's not required for mkv and unsupported in webm

Originally committed as revision 23247 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-22 01:41:38 +00:00
Jean-Daniel Dupas
cc947f04cc Replace all occurences of PKT_FLAG_KEY with AV_PKT_FLAG_KEY.
Patch by Jean-Daniel Dupas, devlists shadowlab org

Originally committed as revision 22744 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-31 12:29:58 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Jai Menon
4896dd57fa Matroska muxer : Don't create audio tracks for unsupported audio codecs.
Originally committed as revision 22669 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 14:34:19 +00:00
Carl Eugen Hoyos
d692850bbb Silence ridiculous gcc warning.
Originally committed as revision 22654 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-24 11:11:25 +00:00
James Darnley
66061a1220 Add VorbisComment writing to FLAC files.
Patch by James Darnley <james darnley at gmail>.

Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20 13:36:43 +00:00
Jai Menon
f75ab7a645 cosmetics : Print newline after error message.
Originally committed as revision 22551 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-15 19:03:48 +00:00
David Conrad
f9ff7179ff mkvenc: Handle negative timestamps correctly
Originally committed as revision 22372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:36 +00:00
David Conrad
654b65d012 mkvenc: Don't try to write packets with unknown timestamps
Originally committed as revision 22371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:33 +00:00
David Conrad
84d4e599a5 mkvenc: write dts for VFW mode
Originally committed as revision 22370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 04:23:28 +00:00
David Conrad
871b641b80 Ensure that we write clusters and blocks with known size when streaming
Too many demuxers can't cope with clusters of unknown size.

Originally committed as revision 22201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:14 +00:00
David Conrad
434a70b8f1 Fix indentation
Originally committed as revision 22200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:11 +00:00
David Conrad
30f06a58a0 Simplify starting and ending clusters
Originally committed as revision 22199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:08 +00:00
David Conrad
7a2a484081 Write the first seekhead if writing to a stream, we won't be able to seek
back and write it at the end

Originally committed as revision 22198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:04 +00:00
David Conrad
2529bb3019 Attempt seeking to write EBML master sizes even if streamed
Most EBML masters are much smaller than IO_BUFFER_SIZE and thus the size
can be updated. This makes parsing the resulting files easier.

Originally committed as revision 22197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-04 08:53:00 +00:00
Anton Khirnov
690b412657 matroskaenc: use "title" tag instead of "description" in track title.
Patch by Anton Khirnov < whyskas at gmail >

Originally committed as revision 22187 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-03 23:27:34 +00:00
Rafaël Carré
e380b9182b mkvenc: Write TrackTimecodeScale
patch by Rafael (dot) Carre (a) gmail (d) com

Originally committed as revision 21372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-21 20:49:27 +00:00
Anton Khirnov
2bd0758efa matroskaenc: Add support for writing chapters.
patch by Anton Khirnov  wyskas _at_ gmail _dot_ com

Originally committed as revision 20277 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 12:17:01 +00:00
Daniel Verkamp
1a40491ef2 Add ff_ prefixes to exported symbols in libavformat/riff.h.
patch by Daniel Verkamp, aniel drv nu

Originally committed as revision 19254 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-22 23:09:34 +00:00
Justin Ruggles
2578326f13 Share the function to write a raw FLAC header and use it in the Matroska
muxer.

Originally committed as revision 17606 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:41:53 +00:00
Justin Ruggles
59c6178a54 Use a shared function to validate FLAC extradata.
Originally committed as revision 17602 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 02:29:24 +00:00
Michael Niedermayer
2591821213 Add AVFMT_VARIABLE_FPS to specify which muxers do not need duplicated frames.
Originally committed as revision 17554 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-24 15:04:18 +00:00
Aurelien Jacobs
5e56599878 matroskaenc: use new metadata API
Originally committed as revision 17336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-15 16:53:05 +00:00
Aurelien Jacobs
5f8bae8d5c matroskaenc: correctly handle h264 streams with 3 bytes nal startcodes
This implies using ff_avc_parse_nal_units_buf instead of ff_avc_parse_nal_units
because with 3 bytes startcodes the parsed packet size will change, and the
size must be written before the packet content.

Originally committed as revision 16690 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-20 00:52:12 +00:00
David Conrad
3194b00479 Cosmetics: indent
Originally committed as revision 16652 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:31:42 +00:00
David Conrad
1c3db2aa50 Treat disposition==0 as undefined and don't write the default flag
Originally committed as revision 16651 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:31:14 +00:00
David Conrad
8a86aaa3b2 Flush the buffer after writing the header and when done with writing the files
Fixes writing small (~4kb) files.

Originally committed as revision 16650 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-17 04:30:36 +00:00
Luca Abeni
ca93bc175a Reindent after last commit
Originally committed as revision 16617 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 14:07:59 +00:00
Luca Abeni
0a63a676ec Do not reallocate AVPacket's data when muxing a packet
Originally committed as revision 16616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 14:03:07 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Aurelien Jacobs
abce34d979 matroskaenc: require global header
fixes issue696

Originally committed as revision 15667 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-22 21:14:42 +00:00
Aurelien Jacobs
b7f4e76d3d matroskaenc: correct muxing of ASS packets
- split packets to store one ASS event line per Matroska block
 - reformat ASS events to Matroska modified format
 - extract display duration for ASS events to store as Matroska block duration

Originally committed as revision 15561 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:57:56 +00:00
Aurelien Jacobs
291902c274 matroskaenc: use correct EBML ID for block duration
Originally committed as revision 15560 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:47:10 +00:00
Aurelien Jacobs
1bfbe8ff9d matroskaenc: pass the packet size directly as parameter of mkv_blockgroup_size()
Originally committed as revision 15559 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:44:50 +00:00
Aurelien Jacobs
8401c51407 matroskaenc: remove useless mkv_block_size() function
Originally committed as revision 15558 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-04 22:41:58 +00:00
Diego Biurrun
bc5c918ea8 Remove offset_t typedef and use int64_t directly instead.
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.

Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-10-03 10:16:29 +00:00
Aurelien Jacobs
62c24705c8 matroska: subtitle display duration must be stored in pkt->convergence_duration
Originally committed as revision 15206 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-09-04 23:08:19 +00:00
Reimar Döffinger
c18545929e Change codec_tag type from const struct AVCodecTag ** to const struct AVCodecTag * const *
Originally committed as revision 14947 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-24 16:51:50 +00:00
Aurelien Jacobs
5972945197 convert every muxer/demuxer to write/read sample_aspect_ratio from/to
the corresponding AVStream instead of AVCodecContext

Originally committed as revision 14933 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-23 23:43:20 +00:00
Diego Biurrun
5968d2dd1e misc spelling/grammar fixes
Originally committed as revision 14616 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 08:28:57 +00:00
Aurelien Jacobs
cc8be50637 matroska: expand useless define for MS compat codec id strings
Originally committed as revision 14607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-05 00:42:49 +00:00
Aurelien Jacobs
f009e36f75 matroska: add support for V_QUICKTIME track type
Originally committed as revision 14429 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-07-27 15:11:04 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Justin Ruggles
8a0684f4c4 fix encoding of flac private data
Originally committed as revision 13030 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-01 22:04:17 +00:00
Aurelien Jacobs
7bfacd4e75 use common aac sample rate tables
Originally committed as revision 12671 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-04-02 21:41:48 +00:00
Evgeniy Stepanov
90c2295b24 Add 'disposition' bitfield to AVStream and use it for both muxing and demuxing
of matroska and nut.

Originally committed as revision 12358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-07 19:25:09 +00:00
Aurelien Jacobs
73260a11e1 simplification proposed by Rich
Originally committed as revision 12280 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-03-01 00:26:19 +00:00
Aurelien Jacobs
0b247953c8 makes really sure that no undefined behavior can happen
Originally committed as revision 12258 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-27 00:53:34 +00:00
Aurelien Jacobs
d597655f77 Avoid infinite loop.
uint64_t >> 64 is an undefined operation

Originally committed as revision 12253 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-02-26 22:35:07 +00:00
Michael Niedermayer
2024c2262b Write 0 instead of seeking forward (and leaving bytes uninitalized),
fixes odd regression test failure i had.

Originally committed as revision 11512 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-12 00:15:05 +00:00
Aurelien Jacobs
9ab3f71b60 add a ff_ prefix to newly exported functions from avc.c
Originally committed as revision 11511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 23:33:32 +00:00
Aurelien Jacobs
e609806ec6 Matroska muxer needs to format all NAL units, not only extradata.
Originally committed as revision 11510 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 23:21:22 +00:00
Aurelien Jacobs
aacc5f227a Use the isom avcc formatting for h264 extradata in matroska.
Originally committed as revision 11499 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-11 01:32:45 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Diego Biurrun
bf898960a7 spelling/wording nits in some Doxygen comments
Originally committed as revision 10417 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 20:31:40 +00:00
David Conrad
ab332d0133 Grammar nits
Originally committed as revision 10388 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:11 +00:00
David Conrad
b62a33d01b Always use AVFormatContext for av_log messages
Originally committed as revision 10387 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:09 +00:00
David Conrad
0f651e8cf3 Rename ebml size functions to indicate that they can be used for more kinds of numbers
Originally committed as revision 10386 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:07 +00:00
David Conrad
8b65b9a313 We shouldn't be passing in sizes larger than 2^56-2, so use an assert
Originally committed as revision 10385 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:04 +00:00
David Conrad
e5c29287cf Indentation
Originally committed as revision 10384 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:03 +00:00
David Conrad
ac9e1177b3 Don't seek when streamed
Originally committed as revision 10383 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:26:00 +00:00
David Conrad
c301d5ae0a Get rid of useless braces
Originally committed as revision 10382 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:58 +00:00
David Conrad
7e33d3fee4 Indent
Originally committed as revision 10381 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:56 +00:00
David Conrad
dc4a9f6737 Match the behaviour betwen the bmp and wav codec tag lookups
Originally committed as revision 10380 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:54 +00:00
David Conrad
46d18a88e1 Write codecprivate to a dynamic buffer so that seeking isn't required
Originally committed as revision 10379 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:52 +00:00
David Conrad
5c559894e1 Move writing codec private element to its own function
Originally committed as revision 10378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:49 +00:00
David Conrad
211783a50a Cosmetics
Originally committed as revision 10377 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:46 +00:00
David Conrad
91ca969082 Use num_entries directly rather than mixing it with a local copy
Originally committed as revision 10376 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:44 +00:00
David Conrad
e3cd80cdac Doxygenify comments
Originally committed as revision 10375 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:42 +00:00
David Conrad
7f8582dfc6 Make sure that the calculated duration doesn't decrease
Originally committed as revision 10374 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:40 +00:00
David Conrad
8ffc5f9e92 Split some really long lines
Originally committed as revision 10373 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:38 +00:00
David Conrad
3967eb5260 Correct message
Originally committed as revision 10372 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:35 +00:00
David Conrad
9e2a3e2262 Always check the return of mkv_add_seekhead_entry
Originally committed as revision 10371 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:34 +00:00
David Conrad
6d588ecd76 Pass the returned error code of functions up
Originally committed as revision 10370 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:32 +00:00
David Conrad
c35de1a131 Check that the seekheads were created
Originally committed as revision 10369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:29 +00:00
David Conrad
0b38843a6c Return AVERROR(ENOMEM) when appropriate
Originally committed as revision 10368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:27 +00:00
David Conrad
47e08c5860 Indentation
Originally committed as revision 10367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:24 +00:00
David Conrad
0580a12256 Use assert for conditions that must be true
Originally committed as revision 10366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:22 +00:00
David Conrad
203cce9a92 Simplify
Originally committed as revision 10365 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:20 +00:00
David Conrad
8cf3bb2674 Grammar nits
Originally committed as revision 10364 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:18 +00:00
David Conrad
cfde5d18f5 Break long comments
Originally committed as revision 10363 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:16 +00:00
David Conrad
a6da1aa057 Use sample format for bit depth if av_get_bits_per_sample() doesn't give one
Originally committed as revision 10362 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:14 +00:00
David Conrad
8eb1915395 Calculate and store DAR rather than SAR
Originally committed as revision 10361 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:07 +00:00
David Conrad
5045da831b Clarify comments
Originally committed as revision 10360 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:25:04 +00:00
David Conrad
5b66fc16af Use PRIu64/PRId64
Originally committed as revision 10359 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:58 +00:00
David Conrad
baf71dca28 Calculate the size of key EBML master elements beforehand so only just enough size is reserved for the size
Originally committed as revision 10358 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:56 +00:00
David Conrad
cce800b456 Use cluster_pos when checking cluster position
Originally committed as revision 10357 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:53 +00:00
David Conrad
f0e9f44271 Modify put_ebml_size() so that the bytes parameter is exact rather than minimum
Originally committed as revision 10356 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:50 +00:00
David Conrad
c635497cb4 Set default subtitle_codec to CODEC_ID_TEXT
Originally committed as revision 10355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:48 +00:00
David Conrad
ddf1646729 Simplify
Originally committed as revision 10354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:44 +00:00
David Conrad
1c73478c8e Move calculating the bytes needed to represent a size in EBML to its own function
Originally committed as revision 10353 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:42 +00:00
David Conrad
9f38fd7efa Make a byte always mean a byte
Originally committed as revision 10352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:39 +00:00
David Conrad
432adc130c Simplify put_ebml_id()
Originally committed as revision 10351 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:36 +00:00
David Conrad
22ccb69a7f Move ebml_id_size()
Originally committed as revision 10350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:34 +00:00
David Conrad
ec8f4ad909 Correct handling of smaller unknown sizes
Originally committed as revision 10349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:31 +00:00
David Conrad
541d443c03 Use a MD5 hash of some frames to write the segment uid
Originally committed as revision 10348 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:29 +00:00
David Conrad
f095a17423 Revert using the time to generate the segment uid
Originally committed as revision 10347 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:27 +00:00
David Conrad
57848e9abd Doxygenize some comments
Originally committed as revision 10346 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:25 +00:00
David Conrad
fd150eb629 Set the language to undefined if no language specified
Originally committed as revision 10345 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:22 +00:00
David Conrad
55c151efb3 Add mka muxer
Originally committed as revision 10344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:19 +00:00
David Conrad
c1f5aa2186 Add some debug logging
Originally committed as revision 10343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:17 +00:00
David Conrad
7332adddae Write the display size elements
Originally committed as revision 10342 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:15 +00:00
David Conrad
d1a8d959fd Revert writing the file creation date
Originally committed as revision 10341 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:12 +00:00
David Conrad
409533622e Codec Private should be correct for all but Real codecs now
Originally committed as revision 10340 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:10 +00:00
David Conrad
8a39497c13 Write FLAC codec private correctly
Originally committed as revision 10339 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:08 +00:00
David Conrad
86be66378b Move writing Xiph-style sizes to its own function
Originally committed as revision 10338 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:06 +00:00
David Conrad
4b8f58eea5 Write segment UID
Originally committed as revision 10337 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:03 +00:00
David Conrad
80380a0f71 Write the creation time
Originally committed as revision 10336 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:24:01 +00:00
David Conrad
5fd35c6e00 Cosmetics
Originally committed as revision 10335 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:59 +00:00
David Conrad
440e090121 Using LIBAVFORMAT_IDENT for both muxing and writing app is good enough
Originally committed as revision 10334 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:57 +00:00
David Conrad
dcbfe3f099 Floats aren't used enough to justify writing any with single precision
Originally committed as revision 10333 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:55 +00:00
David Conrad
9245c5ca08 Simplify
Originally committed as revision 10332 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:53 +00:00
David Conrad
56e4540d3a Indentation
Originally committed as revision 10331 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:52 +00:00
David Conrad
663a5d9d2d Write subtitle tracks
Originally committed as revision 10330 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:49 +00:00
David Conrad
95527e0669 Move writing a block to its own function
Originally committed as revision 10329 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:47 +00:00
David Conrad
8bea4aee4f Only write extradata if it exists
Originally committed as revision 10328 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:46 +00:00
David Conrad
07918a227a Determine the output sample rate for SBR AAC and write it
Originally committed as revision 10327 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:43 +00:00
David Conrad
6b9a10fbd3 Simplify
Originally committed as revision 10326 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:41 +00:00
David Conrad
f9c8d57b79 Keyframe is the first bit not last
Originally committed as revision 10325 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:39 +00:00
David Conrad
357eba6f0b Simplify
Originally committed as revision 10324 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:38 +00:00
David Conrad
d22f88cb19 Use av_get_bits_per_sample
Originally committed as revision 10323 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:34 +00:00
David Conrad
44008871ef Write bit depth for PCM audio
Originally committed as revision 10322 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:31 +00:00
David Conrad
1a302a5c2a Write wav header if there is no native audio codec ID
Originally committed as revision 10321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:29 +00:00
David Conrad
6364d534ea Write the cues element
Originally committed as revision 10320 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:27 +00:00
David Conrad
1b66d31467 Doxygenize comments
Originally committed as revision 10319 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:26 +00:00
David Conrad
4d1fd70cac Calculate the size of a SimpleBlock before writing it so that bytes aren't wasted in writing the size
Originally committed as revision 10318 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:23 +00:00
David Conrad
7973dd0bf1 Indentation
Originally committed as revision 10317 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:21 +00:00
David Conrad
967d815ae5 Write the Seek Head element
Originally committed as revision 10316 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:19 +00:00
David Conrad
801edb42d1 Make sure to return a value in functions that return a value
Originally committed as revision 10315 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:17 +00:00
David Conrad
5034ab9024 Move writing the tracks element to its own function
Originally committed as revision 10314 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:15 +00:00
David Conrad
56d55a3bcf Move Xiph's CodecPrivate writing code to its own function
Originally committed as revision 10313 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:13 +00:00
David Conrad
02f487fc77 Write the duration of the file
Originally committed as revision 10312 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:11 +00:00
David Conrad
f57b85a569 put_ebml_void()
Originally committed as revision 10311 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:09 +00:00
David Conrad
ab41602755 Remove unused prototype
Originally committed as revision 10310 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:07 +00:00
David Conrad
ffb880c278 Write unknown size if the size given is too large for EBML (greater than 2^56-1)
Originally committed as revision 10309 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:06 +00:00
David Conrad
815eb6a2fe Track number and UID only have to be nonzero
Originally committed as revision 10308 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:03 +00:00
David Conrad
90c02d93ff SimpleBlocks are Matroska v2
Originally committed as revision 10307 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:01 +00:00
David Conrad
98186e416d Start a new cluster every 5 MB or 5 seconds
Originally committed as revision 10306 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:23:00 +00:00
David Conrad
6d50a935c9 Fix writing Xiph header sizes
Originally committed as revision 10305 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:58 +00:00
David Conrad
89e81bbbb9 Correctly write CodecPrivate element for Vorbis and Theora
Originally committed as revision 10304 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:56 +00:00
David Conrad
79a58e91db Compile fix; missed a variable declaration in the last commit
Originally committed as revision 10303 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:54 +00:00
David Conrad
b1adb69c5b Write one cluster and SimpleBlocks for the frames. Should now create playable mkv files for some video codecs (H.264 and VP3 checked)
Originally committed as revision 10302 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:52 +00:00
David Conrad
f622c4f45c First stab at writing the tracks element, still needs some additional cases for certain codecs
Originally committed as revision 10301 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:50 +00:00
David Conrad
f8e65a3271 Remove useless debug write
Originally committed as revision 10300 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:48 +00:00
David Conrad
9b6b0c7926 put_ebml_float()
Originally committed as revision 10299 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:47 +00:00
David Conrad
1e18c4d097 Const correctness
Originally committed as revision 10298 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:45 +00:00
David Conrad
81efc03f58 Get rid of put_ebml_utf8(); the error checking that would have distinguished it from put_ebml_string() belongs elsewhere in lavf.
Originally committed as revision 10297 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:43 +00:00
David Conrad
dbf653f766 Cosmetics: align nicely for better readibility
Originally committed as revision 10296 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:41 +00:00
David Conrad
cf4f763be1 Simplify
Originally committed as revision 10295 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:39 +00:00
David Conrad
67143c0f69 Beginning of mkv muxer, only EBML head is written correctly
Originally committed as revision 10294 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-09-05 00:22:37 +00:00