Skip to content

Commit 3a973e2

Browse files
author
Clement Champetier
committed
Frame: added attribute to retreive info of stream which contains the packet
1 parent f757baf commit 3a973e2

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

src/AvTranscoder/frame/Frame.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,28 +6,33 @@ namespace avtranscoder
66
{
77

88
Frame::Frame()
9+
: _avStream( NULL )
910
{
1011
initAVPacket();
1112
}
1213

1314
Frame::Frame( const size_t dataSize )
15+
: _avStream( NULL )
1416
{
1517
av_new_packet( &_packet, dataSize );
1618
}
1719

1820
Frame::Frame( const AVPacket& avPacket )
21+
: _avStream( NULL )
1922
{
2023
copyAVPacket( avPacket );
2124
}
2225

2326
Frame::Frame( const Frame& other )
2427
{
2528
copyAVPacket( other.getAVPacket() );
29+
_avStream = &other.getAVStream();
2630
}
2731

2832
Frame& Frame::operator=( const Frame& other )
2933
{
3034
copyAVPacket( other.getAVPacket() );
35+
_avStream = &other.getAVStream();
3136
return *this;
3237
}
3338

src/AvTranscoder/frame/Frame.hpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ extern "C" {
77
#include <libavcodec/avcodec.h>
88
}
99

10+
struct AVStream;
11+
1012
namespace avtranscoder
1113
{
1214

@@ -33,6 +35,7 @@ class AvExport Frame
3335
/// Free buffer of data
3436
~Frame();
3537

38+
void refAVStream( const AVStream& avStream ) { _avStream = &avStream; }
3639
/// Resize data buffer
3740
void resize( const size_t newSize );
3841

@@ -58,6 +61,7 @@ class AvExport Frame
5861
size_t getSize() const { return _packet.size; }
5962

6063
#ifndef SWIG
64+
const AVStream& getAVStream() const { return *_avStream; }
6165
AVPacket& getAVPacket() { return _packet; }
6266
const AVPacket& getAVPacket() const { return _packet; }
6367
const unsigned char* getData() const { return _packet.data; }
@@ -69,6 +73,9 @@ class AvExport Frame
6973

7074
private:
7175
AVPacket _packet;
76+
77+
// Stream which contains the packet
78+
const AVStream* _avStream; //< Has link (no ownership)
7279
};
7380

7481
// Typedef to represent buffer of coded data.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy