Changeset b5d7934fc8bb26f7f92ddfcea76485e34bc953e2
- Timestamp:
- 02/03/07 20:42:22
(2 years ago)
- Author:
- Laurent Aimar <fenrir@videolan.org>
- git-committer:
- Laurent Aimar <fenrir@videolan.org> 1172864542 +0000
- git-parent:
[8cfee3e8e59b756703de3a7b4833b5300523baf3]
- git-author:
- Laurent Aimar <fenrir@videolan.org> 1172864542 +0000
- Message:
On pause and rate change from normal rate, call input_EsOutDiscontinuity
as soon as possible to allow decoders to flush (well that part need to
be implemented ;)
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| re87abf6 |
rb5d7934 |
|
| 1550 | 1550 | /* Reset clock */ |
|---|
| 1551 | 1551 | es_out_Control( p_input->p->p_es_out, ES_OUT_RESET_PCR ); |
|---|
| 1552 | | input_EsOutDiscontinuity( p_input->p->p_es_out, VLC_FALSE ); |
|---|
| 1553 | 1552 | } |
|---|
| 1554 | 1553 | else if( val.i_int == PAUSE_S && p_input->i_state == PLAYING_S && |
|---|
| … | … | |
| 1578 | 1577 | p_input->i_state = val.i_int; |
|---|
| 1579 | 1578 | var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL ); |
|---|
| | 1579 | |
|---|
| | 1580 | /* Send discontinuity to decoders (it will allow them to flush |
|---|
| | 1581 | * if implemented */ |
|---|
| | 1582 | input_EsOutDiscontinuity( p_input->p->p_es_out, VLC_FALSE ); |
|---|
| 1580 | 1583 | } |
|---|
| 1581 | 1584 | else if( val.i_int == PAUSE_S && !p_input->p->b_can_pause ) |
|---|
| … | … | |
| 1625 | 1628 | if( i_rate != p_input->p->i_rate ) |
|---|
| 1626 | 1629 | { |
|---|
| 1627 | | p_input->p->i_rate = i_rate; |
|---|
| 1628 | 1630 | val.i_int = i_rate; |
|---|
| 1629 | 1631 | var_Change( p_input, "rate", VLC_VAR_SETVALUE, &val, NULL ); |
|---|
| 1630 | 1632 | |
|---|
| 1631 | | /* We haven't send data to decoder when rate != default */ |
|---|
| 1632 | | if( i_rate == INPUT_RATE_DEFAULT ) |
|---|
| | 1633 | /* We will not send audio data if new rate != default */ |
|---|
| | 1634 | if( i_rate != INPUT_RATE_DEFAULT && p_input->p->i_rate == INPUT_RATE_DEFAULT ) |
|---|
| 1633 | 1635 | input_EsOutDiscontinuity( p_input->p->p_es_out, VLC_TRUE ); |
|---|
| | 1636 | |
|---|
| | 1637 | p_input->p->i_rate = i_rate; |
|---|
| 1634 | 1638 | |
|---|
| 1635 | 1639 | /* Reset clock */ |
|---|
| re87abf6 |
rb5d7934 |
|
| 246 | 246 | void stream_AccessUpdate( stream_t *s ); |
|---|
| 247 | 247 | |
|---|
| 248 | | /* decoder.c FIXME make it public ?*/ |
|---|
| | 248 | /* decoder.c */ |
|---|
| 249 | 249 | void input_DecoderDiscontinuity( decoder_t * p_dec ); |
|---|
| 250 | 250 | vlc_bool_t input_DecoderEmpty( decoder_t * p_dec ); |
|---|