Philipp Schafft
6e0f876275
Fix: Corrected Copyright headers
2018-11-26 07:42:05 +00:00
Philipp Schafft
b10406df20
Fix: Fixed ICECAST_LOG_DEBUG()'s format string
2018-06-20 12:33:34 +00:00
Philipp Schafft
38436c3f6e
Update: Abstract body read with client_body_read() and client_body_eof()
2018-06-19 13:44:07 +00:00
Joseph Wallace
a2cac3ee93
Make ebml_parse_tag return tag ID code
...
(applying lessons learned from libshout)
2016-03-27 12:29:23 -04:00
Joseph Wallace
a218055158
Move tag-parsing bail conditions to top for clarity.
2016-03-27 12:29:23 -04:00
Joseph Wallace
78293f0485
Delete some debugging comments.
2016-03-27 12:29:06 -04:00
Joseph Wallace
dcbba0c600
Cleanup some signed-type issues in format-ebml.c
2016-03-27 12:29:06 -04:00
Joseph Wallace
788bd94eeb
BUGFIX: Use a signed type for capturing the return value of client_read_bytes()
...
Signed-off-by: Marvin Scholz <epirat07@gmail.com>
2016-02-13 21:12:34 +01:00
Joseph Wallace
d196e75416
Convert ints used as boolean values into actual bools.
2015-12-19 15:32:37 -05:00
Joseph Wallace
1f6a0a497f
Replace "long long"s with an appropriate type from <stdint.h>
2015-12-19 15:02:33 -05:00
Joseph Wallace
de004670c3
Be clearer about ebml_parse_sized_int's sign & endian behavior.
2015-12-01 02:21:24 -05:00
Joseph Wallace
e6cb7e26ee
Move ebml-private structure definitions out of header file.
2015-11-28 12:49:54 -05:00
Joseph Wallace
0d7448efc7
Change buffer-related sizes & indices to size_t or ssize_t, as applicable.
2015-11-28 12:49:45 -05:00
Joseph Wallace
8a09627d05
Fix type of copy_state in EBML parser to an enum variable.
2015-11-28 12:41:46 -05:00
Joseph Wallace
dc263858a4
Additional format_ebml.c comments.
2015-11-28 12:41:46 -05:00
Joseph Wallace
af238d9129
Move MKV element magic values into proper #define constants.
2015-11-28 12:41:46 -05:00
Joseph Wallace
d394a244f0
Bugfix: Cluster test could have read past the end of the input buffer.
...
Move the cluster test inside the space-to-read check with the other tests.
2015-11-28 12:41:46 -05:00
Joseph Wallace
9de8fe483d
Remove spare whitespace on blank lines.
2015-11-28 12:41:46 -05:00
Joseph Wallace
e4258bfad3
Don't wait for video keyframes on audio-only streams.
2015-11-28 12:41:46 -05:00
Joseph Wallace
9cf4ed560c
Probe SimpleBlocks to determine which clusters start with a keyframe.
2015-11-28 12:41:45 -05:00
Joseph Wallace
6e11db5de2
Probe Tracks section of header to identify the video track.
...
We'll sync keyframes on that track next commit.
2015-11-28 12:41:45 -05:00
Joseph Wallace
9899413839
Add parser for bodies of Integer elements.
2015-11-28 12:41:45 -05:00
Joseph Wallace
f461ff6763
Buffer clusters to have time to probe them for metadata, like keyframes.
2015-11-28 12:41:45 -05:00
Joseph Wallace
def5a4cf6c
Implement EBML-aware parser.
...
* Loop over elements in input buffer.
* Most are literally copied with their contents without
inspection into the header or data buffers as appropriate.
* Some only copy the element header, to allow inspecting
children elements.
* Cluster elements are identified and used as sync points.
No probing is done for keyframes *yet*
2015-11-28 12:41:45 -05:00
Joseph Wallace
50c4984c78
Add functions to comprehend EBML tags.
2015-11-28 12:41:45 -05:00
Joseph Wallace
531d060d16
Adjust EBML parser writing protocol.
...
This will allow leaving unparsed data in the input buffer to wait for completion.
2015-11-28 12:41:45 -05:00
Joseph Wallace
13dc880d29
Yield sync point status from ebml_read directly.
...
This simplifies some fragile "was the last chunk a sync point?" logic.
2015-11-28 12:41:45 -05:00
Joseph Wallace
744b66c40e
Make the state-machine nature of the EBML parser more evident.
2015-11-28 12:41:45 -05:00
Joseph Wallace
15e7fc6e4a
Add comments & braces to format_ebml.c.
...
This should help make future changes to the code clearer.
2015-11-28 12:41:45 -05:00
Philipp Schafft
c1f0eaff8a
Fix: Fixed some smaller bugs such as leaks and performance improvements.
...
This is a first commit to correct minor problmes reported by
Denis Denisov. There is likely another commit to correct some more
such problems.
Thank you Denis Denisov.
2015-04-08 09:36:59 +00:00
Philipp Schafft
11d5dffd49
Cleanup: Removed tailing spaces
2015-01-10 18:53:44 +00:00
Philipp Schafft
28572be2ec
Feature: Extract metadata and export them to stats.xml
...
All metadata is now extracted from Vorbis streams and ICY streams
and exported as new <metadata> tag into admin/stats if specific
mountpoint is requested.
To testers:
- Please test with Ogg Vorbis streams.
- Please test with Ogg Vorbis + Theora streams.
- Please test chained Ogg streams.
- Please test with ICY streams.
close #2106
2014-12-09 16:08:27 +00:00
Philipp Schafft
93194594f7
better coding style, patch by ePirat. refs #2059
...
svn path=/icecast/trunk/icecast/; revision=19376
2014-11-30 20:32:30 +00:00
Philipp Schafft
8867d177c5
cleanup: converted printf() into ICECAST_LOG_DEBUG() but commented out so they do not spam logs for normal users.
...
svn path=/icecast/trunk/icecast/; revision=19368
2014-11-29 12:41:19 +00:00
Philipp Schafft
2b7cb1c641
LOG_{ERROR|WARN|INFO|DEBUG}() -> ICECAST_LOG_{ERROR|WARN|INFO|DEBUG}(); this is to avoid collision with LOG_INFO that is defined as part of syslog.
...
svn path=/icecast/trunk/icecast/; revision=19257
2014-10-31 08:46:58 +00:00
Philipp Schafft
7ae4664780
Replace the old logging macros with variadic argument macros. (patch by ePirat) ( close #2058 )
...
svn path=/icecast/trunk/icecast/; revision=19229
2014-10-09 10:39:13 +00:00
giles
818c1aff71
Add WebM support.
...
This is David Richard's webm support patch from the icecast-webm branch.
svn path=/icecast/trunk/icecast/; revision=18402
2012-06-13 21:24:23 +00:00
giles
e6cd0cff1f
Clarify that only these specific files are GPLv2 or v3.
...
Icecast itself remains GPLv2 only.
svn path=/icecast/branches/icecast-webm/; revision=18307
2012-05-24 18:32:06 +00:00
giles
1c0b051b80
Update copyright headers for the new code.
...
Also update the license statement to GPL2 or later.
svn path=/icecast/branches/icecast-webm/; revision=18303
2012-05-24 16:10:20 +00:00
giles
835408b7eb
Add David Richard's webm support patch.
...
This is a self-contained ebml parser. It just looks
for cluster boundaries and breaks the stream there.
svn path=/icecast/branches/icecast-webm/; revision=18297
2012-05-18 17:33:17 +00:00