History log of /haiku/headers/os/media/MediaTrack.h
Revision Date Author Comments
# 218a8c03 17-May-2019 Augustin Cavalier <waddlesplash@gmail.com>

Revert the Codec Kit.

All of Barrett's individual reverts have been squashed into this
one commit, save a few actual bugfixes.

Change-Id: Ib0a7d0a841d3ac40b1fca7372c58b7f9229bd1f0


# 278d03da 27-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

media_kit: Remove most private dependencies from codec_kit

* Move to BCodecKit namespace and make extensive use
of BCodecRoster.
* This is a first step in the right direction of
decreasing private dependencies. Some APIs are being
translated to the CodecKit. I am doing an investigation
on which APIs are really used among apps, so that the new
kit can be more slim and oriented toward easy development
and can be extended in the right direction instead to
continue maintaning unuseful code.
* BMediaFormats needs still a bit of love.
* General improvements in style and code maintainability.


# ee09c291 24-Nov-2018 Barrett17 <b.vitruvio@gmail.com>

Media Kit: Update private code


# 8bcc3722 31-Aug-2013 John Scipione <jscipione@gmail.com>

MediaTrack: Style fixes


# 69372b55 20-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

* Change the signature of the Writer plugins setup methods such
that they can modify the media_format passed in. For example they
can store information in the user_data section. I don't actually
use this anymore, but it may come in handy again.

AVFormatWriter:
* Adjust the AVCodecContext flags not only for video, but also
for audio streams (as the API example does). This mechanism
may not yet work, since the AVCodecEncoder actually uses a
different AVCodecContext instance.
* Use the encodeInfo->flags and specify the key frame flag
for the AVPacket. This finally makes videos encoded on Haiku
seekable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39035 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cd3a249 17-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Implemented an API to get arbitrary meta-data about
BMediaFiles and about BMediaTracks in BMessages. As an
example, one can get chapter meta-data or the language
name of an audio-track.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38685 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a57be2a 06-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

* Indentation and naming cleanup in the header
* Small coding style cleanups in the .cpp
* When reading raw chunks, keep fCurrentFrame updated anyway
* When decoding frames and chunks, don't change the meaning of fCurrentTime,
it's supposed to be the start time of the next chunk/frame, same as
CurrentFrame(), not the time of the frame/chunk we just decoded/read.
BMediaTrack::CurrentFrame() is actually documented like this in the BeBook,
but CurrentTime() is not. However, when seeking to a specific time, it is
understood that this is the time of the next frame/chunk. If we decode/read
it and set fCurrentTime to the start_time as specified in the media_header,
it would actually not change for the first frame/chunk after seeking.
To be able to know the duration of chunks, fWriterFormat had to be changed
to just fFormat and is now used for decoding as well.
* Simplified handling of media_header in some methods, saves one assignment.

These changes are not so well tested, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34923 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 048d05a6 05-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32123 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fa770e4c 31-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* Writer::WriteChunk() takes media_encode_info* instead of flags.
* Improved Encoder API towards what we need for the get_next_encoder() variants
and the BMediaTrack API.
* Implemented the rest of MediaWriter. Still undecided what to make of
AddTrackInfo(). BMediaEncoder has that as well, which hints that this is
something the Encoder needs to support. But it could also be that this is
only possible to support in Writer.
* Wired a lot of previously unimplemented methods in BMediaFile and BMediaTrack
needed for write support. If I have not overlooked anything, only the
parameter stuff is still unimplemented now.

This is all untested, since the FFMpeg Encoder and Writer are still only stubs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32013 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8316d9f 30-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Cleanup and preparations for BPrivate::media::MediaWriter, which will soon
exist.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31983 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e4d07a3e 15-Aug-2004 beveloper <beveloper@nowhere.fake>

Added some new functions which seem to be required for Xentronics SampleStudio Pro.
Added missing license to implementation files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8590 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bac2b3f1 29-Feb-2004 beveloper <beveloper@nowhere.fake>

When the decoder doesn't support the requested format, the raw decoder is utilized
to provide a format conversion to the requested raw format.
Added a few workarounds for applications that don't requst the required format
but instead assume to get a specific one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6815 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d8591482 23-Nov-2003 beveloper <beveloper@nowhere.fake>

integration of codec API into BMediaFile and BMediaTrack


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5468 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a38012 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8bcc3722ba5c7db7cfdfb5b61c6d918dbccb1589 31-Aug-2013 John Scipione <jscipione@gmail.com>

MediaTrack: Style fixes


# 69372b55450310f3f82caebdd5b9f87a4f4edad9 20-Oct-2010 Stephan Aßmus <superstippi@gmx.de>

* Change the signature of the Writer plugins setup methods such
that they can modify the media_format passed in. For example they
can store information in the user_data section. I don't actually
use this anymore, but it may come in handy again.

AVFormatWriter:
* Adjust the AVCodecContext flags not only for video, but also
for audio streams (as the API example does). This mechanism
may not yet work, since the AVCodecEncoder actually uses a
different AVCodecContext instance.
* Use the encodeInfo->flags and specify the key frame flag
for the AVPacket. This finally makes videos encoded on Haiku
seekable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39035 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7cd3a2490b94cecc15ce451c8d1c97c04dc852bd 17-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Implemented an API to get arbitrary meta-data about
BMediaFiles and about BMediaTracks in BMessages. As an
example, one can get chapter meta-data or the language
name of an audio-track.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38685 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3a57be2aea3a9cac9e7f89c5fed73329b6e85098 06-Jan-2010 Stephan Aßmus <superstippi@gmx.de>

* Indentation and naming cleanup in the header
* Small coding style cleanups in the .cpp
* When reading raw chunks, keep fCurrentFrame updated anyway
* When decoding frames and chunks, don't change the meaning of fCurrentTime,
it's supposed to be the start time of the next chunk/frame, same as
CurrentFrame(), not the time of the frame/chunk we just decoded/read.
BMediaTrack::CurrentFrame() is actually documented like this in the BeBook,
but CurrentTime() is not. However, when seeking to a specific time, it is
understood that this is the time of the next frame/chunk. If we decode/read
it and set fCurrentTime to the start_time as specified in the media_header,
it would actually not change for the first frame/chunk after seeking.
To be able to know the duration of chunks, fWriterFormat had to be changed
to just fFormat and is now used for decoding as well.
* Simplified handling of media_header in some methods, saves one assignment.

These changes are not so well tested, yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34923 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 048d05a613902e71670919d0c75895520bb84c30 05-Aug-2009 Stephan Aßmus <superstippi@gmx.de>

Small cleanups.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32123 a95241bf-73f2-0310-859d-f6bbb57e9c96


# fa770e4c84d6b6e9721a6072041aba4468e79b98 31-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

* Writer::WriteChunk() takes media_encode_info* instead of flags.
* Improved Encoder API towards what we need for the get_next_encoder() variants
and the BMediaTrack API.
* Implemented the rest of MediaWriter. Still undecided what to make of
AddTrackInfo(). BMediaEncoder has that as well, which hints that this is
something the Encoder needs to support. But it could also be that this is
only possible to support in Writer.
* Wired a lot of previously unimplemented methods in BMediaFile and BMediaTrack
needed for write support. If I have not overlooked anything, only the
parameter stuff is still unimplemented now.

This is all untested, since the FFMpeg Encoder and Writer are still only stubs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32013 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8316d9f936a7478cf94aa54e078894761cb4ca7 30-Jul-2009 Stephan Aßmus <superstippi@gmx.de>

Cleanup and preparations for BPrivate::media::MediaWriter, which will soon
exist.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31983 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e4d07a3e7185e6d020d418c241613d566ccd7b15 15-Aug-2004 beveloper <beveloper@nowhere.fake>

Added some new functions which seem to be required for Xentronics SampleStudio Pro.
Added missing license to implementation files.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8590 a95241bf-73f2-0310-859d-f6bbb57e9c96


# bac2b3f15ca3b7ac97c4211606583b0309f3d654 29-Feb-2004 beveloper <beveloper@nowhere.fake>

When the decoder doesn't support the requested format, the raw decoder is utilized
to provide a format conversion to the requested raw format.
Added a few workarounds for applications that don't requst the required format
but instead assume to get a specific one.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6815 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d859148201db6e851ba0a8ed96b12af21fbf06c0 23-Nov-2003 beveloper <beveloper@nowhere.fake>

integration of codec API into BMediaFile and BMediaTrack


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5468 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 52a380120846174213ccce9c4aab0dda17c72083 08-Jul-2002 ejakowatz <ejakowatz@nowhere.fake>

It is accomplished ...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96